]> git.sesse.net Git - vlc/commitdiff
sgimb: use after free (fixes #8724)
authorRémi Denis-Courmont <remi@remlab.net>
Tue, 4 Jun 2013 20:44:13 +0000 (23:44 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Tue, 4 Jun 2013 20:44:13 +0000 (23:44 +0300)
modules/demux/playlist/sgimb.c

index 5908f9c0429750137f5848094115d8edb58afc01..0bbb55af631d42a2f8ce4180387d1cb4c951e2b4 100644 (file)
@@ -366,13 +366,12 @@ static int Demux ( demux_t *p_demux )
             return -1;
         }
 
-        free( p_sys->psz_uri );
-        if( asprintf( &p_sys->psz_uri, "%s%%3FMeDiAbAsEshowingId=%d%%26MeDiAbAsEconcert%%3FMeDiAbAsE",
-                p_sys->psz_uri, p_sys->i_sid ) == -1 )
-        {
-            p_sys->psz_uri = NULL;
+        char *uri;
+        if( asprintf( &uri, "%s%%3FMeDiAbAsEshowingId=%d%%26MeDiAbAsEconcert"
+                      "%%3FMeDiAbAsE", p_sys->psz_uri, p_sys->i_sid ) == -1 )
             return -1;
-        }
+        free( p_sys->psz_uri );
+        p_sys->psz_uri = uri;
     }
 
     p_child = input_item_NewWithType( p_sys->psz_uri,