]> git.sesse.net Git - vlc/blobdiff - modules/access/vcdx/info.c
vcdx: Fix memleaks.
[vlc] / modules / access / vcdx / info.c
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);
     }
 }