]> git.sesse.net Git - vlc/commitdiff
playlist demux: no need to strdup the string here.
authorRémi Duraffort <ivoire@videolan.org>
Sun, 16 Aug 2009 15:32:46 +0000 (17:32 +0200)
committerRémi Duraffort <ivoire@videolan.org>
Mon, 17 Aug 2009 08:58:16 +0000 (10:58 +0200)
modules/demux/playlist/b4s.c
modules/demux/playlist/xspf.c

index 31405b43dce355da78185c481fe96ad4820a7b28..acf5d9be0e9bb4feeade774000039dc11c38d5ca 100644 (file)
@@ -200,15 +200,15 @@ static int Demux( demux_t *p_demux )
                     if( !strcmp( psz_elname, "entry" ) &&
                         !strcmp( psz_name, "Playstring" ) )
                     {
-                        psz_mrl = strdup( psz_value );
+                        psz_mrl = psz_value;
                     }
                     else
                     {
                         msg_Warn( p_demux, "unexpected attribure %s in element %s",
                                   psz_name, psz_elname );
+                        free( psz_value );
                     }
                     free( psz_name );
-                    free( psz_value );
                 }
                 break;
             }
@@ -222,34 +222,34 @@ static int Demux( demux_t *p_demux )
                 }
                 if( !strcmp( psz_elname, "Name" ) )
                 {
-                    psz_name = strdup( psz_text );
+                    psz_name = psz_text;
                 }
                 else if( !strcmp( psz_elname, "Genre" ) )
                 {
-                    psz_genre = strdup( psz_text );
+                    psz_genre = psz_text;
                 }
                 else if( !strcmp( psz_elname, "Nowplaying" ) )
                 {
-                    psz_now = strdup( psz_text );
+                    psz_now = psz_text;
                 }
                 else if( !strcmp( psz_elname, "Listeners" ) )
                 {
-                    psz_listeners = strdup( psz_text );
+                    psz_listeners = psz_text;
                 }
                 else if( !strcmp( psz_elname, "Bitrate" ) )
                 {
-                    psz_bitrate = strdup( psz_text );
+                    psz_bitrate = psz_text;
                 }
                 else if( !strcmp( psz_elname, "" ) )
                 {
-                    ;
+                    free( psz_text );
                 }
                 else
                 {
                     msg_Warn( p_demux, "unexpected text in element '%s'",
                               psz_elname );
+                    free( psz_text );
                 }
-                free( psz_text );
                 break;
             }
             // End element
@@ -281,7 +281,7 @@ static int Demux( demux_t *p_demux )
                     FREENULL( psz_now );
                 }
                 free( psz_elname );
-                psz_elname = strdup("");
+                psz_elname = strdup( "" );
 
                 break;
             }
index d79e874f909ca5ee0a8929b8098ed61f18e565fd..705949cdf79266364298ef46e582dc2065552c49 100644 (file)
@@ -716,19 +716,21 @@ static bool parse_extension_node COMPLEX_INTERFACE
         if( !strcmp( psz_name, "title" ) )
         {
             resolve_xml_special_chars( psz_value );
-            psz_title = strdup( psz_value );
+            psz_title = psz_value;
         }
         /* extension attribute: application */
         else if( !strcmp( psz_name, "application" ) )
         {
-            psz_application = strdup( psz_value );
+            psz_application = psz_value;
         }
         /* unknown attribute */
         else
+        {
             msg_Warn( p_demux, "invalid <%s> attribute:\"%s\"", psz_element,
                       psz_name );
-
-        FREE_ATT();
+            FREE_VALUE();
+        }
+        FREE_NAME();
     }
 
     /* attribute title is mandatory except for <extension> */