]> git.sesse.net Git - vlc/commitdiff
vcdx: Fix memleaks.
authorRémi Duraffort <ivoire@videolan.org>
Fri, 1 Aug 2008 10:34:24 +0000 (12:34 +0200)
committerRémi Duraffort <ivoire@videolan.org>
Fri, 1 Aug 2008 10:38:17 +0000 (12:38 +0200)
modules/access/vcdx/access.c
modules/access/vcdx/info.c

index a4fc5bb4d506ffc8e82da0eef8f0108727f25fa0..279c34a1fdc98beb17b1783c4cb25b6ee9685add 100644 (file)
@@ -651,6 +651,7 @@ VCDParse( access_t * p_access, /*out*/ vcdinfo_itemid_t * p_itemid,
       psz_source = config_GetPsz( p_access, "vcd" );
 
       if( !psz_source || 0==strlen(psz_source) ) {
+        free( psz_source );
         /* Scan for a CD-ROM drive with a VCD in it. */
         char **cd_drives = cdio_get_devices_with_cap( NULL,
                             ( CDIO_FS_ANAL_SVCD | CDIO_FS_ANAL_CVD
index 79ef1f2ab319bc57937deee05587c3d40ea8aeae..dc0ec98ba54cb62dbe46ca8149e2016e753109e4 100644 (file)
@@ -175,10 +175,11 @@ VCDMetaInfo( access_t *p_access, /*const*/ char *psz_mrl )
 
   if ( CDIO_INVALID_TRACK != i_track )
   {
+    char* psz_title_format = config_GetPsz( p_access, MODULE_STRING "-title-format" );
     char *psz_name =
-      VCDFormatStr( p_access, p_vcdplayer,
-            config_GetPsz( p_access, MODULE_STRING "-title-format" ),
-            psz_mrl, &(p_vcdplayer->play_item) );
+      VCDFormatStr( p_access, p_vcdplayer, psz_title_format, psz_mrl,
+                    &(p_vcdplayer->play_item) );
+    free( psz_title_format );
  
     input_Control( p_vcdplayer->p_input, INPUT_SET_NAME, psz_name );
   }
@@ -385,14 +386,14 @@ VCDUpdateTitle( access_t *p_access )
     if( psz_mrl )
     {
         char *psz_name;
-    snprintf(psz_mrl, psz_mrl_max, "%s%s",
-         VCD_MRL_PREFIX, p_vcdplayer->psz_source);
-    psz_name = VCDFormatStr( p_access, p_vcdplayer,
-                 config_GetPsz( p_access, MODULE_STRING
-                        "-title-format" ),
-                psz_mrl, &(p_vcdplayer->play_item) );
-    input_Control( p_vcdplayer->p_input, INPUT_SET_NAME, psz_name );
-    free(psz_mrl);
+        char* psz_title_format = config_GetPsz( p_access, MODULE_STRING "-title-format" )
+        snprintf( psz_mrl, psz_mrl_max, "%s%s",
+                  VCD_MRL_PREFIX, p_vcdplayer->psz_source );
+        psz_name = VCDFormatStr( p_access, p_vcdplayer, psz_title_format, psz_mrl,
+                                 &(p_vcdplayer->play_item) );
+        input_Control( p_vcdplayer->p_input, INPUT_SET_NAME, psz_name );
+        free( psz_title_format );
+        free(psz_mrl);
     }
 }