]> git.sesse.net Git - vlc/commitdiff
Fix potential memleak.
authorRémi Duraffort <ivoire@videolan.org>
Fri, 15 Aug 2008 07:26:33 +0000 (09:26 +0200)
committerRémi Duraffort <ivoire@videolan.org>
Fri, 15 Aug 2008 19:44:28 +0000 (21:44 +0200)
modules/demux/playlist/b4s.c
modules/demux/playlist/podcast.c
modules/gui/skins2/parser/xmlparser.cpp

index 8431a06fd2e9f8810de9b8f96e31903d2ba5aff1..629137fde4dacbca6f30471c09b511b629b2d90d 100644 (file)
@@ -149,7 +149,12 @@ static int Demux( demux_t *p_demux )
     {
         char *psz_name = xml_ReaderName( p_xml_reader );
         char *psz_value = xml_ReaderValue( p_xml_reader );
-        if( !psz_name || !psz_value ) return -1;
+        if( !psz_name || !psz_value )
+        {
+            free( psz_name );
+            free( psz_value );
+            return -1;
+        }
         if( !strcmp( psz_name, "num_entries" ) )
         {
             msg_Dbg( p_demux, "playlist has %d entries", atoi(psz_value) );
index 20f8754fec8b3258fc6f9eb013a1502400ed85b4..c507cddc7e7e9122073769a746523767fb305cb2 100644 (file)
@@ -168,7 +168,12 @@ static int Demux( demux_t *p_demux )
                 {
                     char *psz_name = xml_ReaderName( p_xml_reader );
                     char *psz_value = xml_ReaderValue( p_xml_reader );
-                    if( !psz_name || !psz_value ) return -1;
+                    if( !psz_name || !psz_value )
+                    {
+                        free( psz_name );
+                        free( psz_value );
+                        return -1;
+                    }
                     if( !strcmp( psz_elname, "enclosure" ) &&
                         !strcmp( psz_name, "url" ) )
                     {
index 2e66d04ce92edee6fb27ab0d85bddf1688feb5fc..793affb2647faae1aaca5c3cbf0c8833c5d2319d 100644 (file)
@@ -163,7 +163,12 @@ bool XMLParser::parse()
                 {
                     char *name = xml_ReaderName( m_pReader );
                     char *value = xml_ReaderValue( m_pReader );
-                    if( !name || !value ) return false;
+                    if( !name || !value )
+                    {
+                        free( name );
+                        free( value );
+                        return false;
+                    }
                     attributes[name] = value;
                 }