]> git.sesse.net Git - vlc/commitdiff
WPL: fix leak and NULL dereference
authorRémi Denis-Courmont <remi@remlab.net>
Mon, 17 Nov 2014 16:37:15 +0000 (18:37 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Mon, 17 Nov 2014 16:37:15 +0000 (18:37 +0200)
modules/demux/playlist/wpl.c

index 365488bce85cd39ef99e38260212d9590968a2f1..c2c209a5f5a4b451bf8c7eafaad4b5e9dcf883e7 100644 (file)
@@ -95,15 +95,19 @@ static int Demux( demux_t *p_demux )
             psz_parse = strchr( psz_uri, '"' );
             if( psz_parse != NULL )
             {
-                input_item_t *p_input;
-
                 *psz_parse = '\0';
                 resolve_xml_special_chars( psz_uri );
                 psz_uri = ProcessMRL( psz_uri, p_demux->p_sys->psz_prefix );
-                p_input = input_item_NewExt( psz_uri, psz_uri,
-                                        0, NULL, 0, -1 );
-                input_item_node_AppendItem( p_subitems, p_input );
-                vlc_gc_decref( p_input );
+                if( psz_uri != NULL )
+                {
+                    input_item_t *p_input;
+
+                    p_input = input_item_NewExt( psz_uri, psz_uri,
+                                                 0, NULL, 0, -1 );
+                    input_item_node_AppendItem( p_subitems, p_input );
+                    vlc_gc_decref( p_input );
+                    free( psz_uri );
+                }
             }
         }