Marcus Meissner : wrc: Fixed some small leaks in PO code (Coverity).

Alexandre Julliard julliard at winehq.org
Tue Jun 28 17:25:17 CDT 2011


Module: wine
Branch: master
Commit: b07408cf82a9b7fc4dc093d08d07f835fad3bf48
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b07408cf82a9b7fc4dc093d08d07f835fad3bf48

Author: Marcus Meissner <marcus at jet.franken.de>
Date:   Tue Jun 28 08:31:29 2011 +0200

wrc: Fixed some small leaks in PO code (Coverity).

---

 tools/wmc/po.c |    1 +
 tools/wrc/po.c |    7 ++++++-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/tools/wmc/po.c b/tools/wmc/po.c
index 06b5bc7..1cdf521 100644
--- a/tools/wmc/po.c
+++ b/tools/wmc/po.c
@@ -325,6 +325,7 @@ static char *convert_msgid_ascii( const lanmsg_t *msg, int error_on_invalid_char
             fprintf( stderr, "%s:%d: ", msg->file, msg->line );
             error( "Invalid character %04x in source string\n", msg->msg[i] );
         }
+        free( buffer );
         return NULL;
     }
     buffer[i] = 0;
diff --git a/tools/wrc/po.c b/tools/wrc/po.c
index ef1e9f2..af882cb 100644
--- a/tools/wrc/po.c
+++ b/tools/wrc/po.c
@@ -332,6 +332,7 @@ static char *convert_msgid_ascii( const string_t *str, int error_on_invalid_char
             print_location( &newstr->loc );
             error( "Invalid character %04x in source string\n", newstr->str.wstr[i] );
         }
+        free( buffer);
         free_string( newstr );
         return NULL;
     }
@@ -940,7 +941,11 @@ void add_translations( const char *po_dir )
     new_top = new_tail = NULL;
 
     name = strmake( "%s/LINGUAS", po_dir );
-    if (!(f = fopen( name, "r" ))) return;
+    if (!(f = fopen( name, "r" )))
+    {
+        free( name );
+        return;
+    }
     free( name );
     while (fgets( buffer, sizeof(buffer), f ))
     {




More information about the wine-cvs mailing list