From: RĂ©mi Duraffort Date: Fri, 1 Aug 2008 10:34:24 +0000 (+0200) Subject: vcdx: Fix memleaks. X-Git-Tag: 0.9.0-test3~62 X-Git-Url: https://git.sesse.net/?p=vlc;a=commitdiff_plain;h=31a163942d6682ae31679e6e2be898f9314b2cc0 vcdx: Fix memleaks. --- diff --git a/modules/access/vcdx/access.c b/modules/access/vcdx/access.c index a4fc5bb4d5..279c34a1fd 100644 --- a/modules/access/vcdx/access.c +++ b/modules/access/vcdx/access.c @@ -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 diff --git a/modules/access/vcdx/info.c b/modules/access/vcdx/info.c index 79ef1f2ab3..dc0ec98ba5 100644 --- a/modules/access/vcdx/info.c +++ b/modules/access/vcdx/info.c @@ -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); } }