X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fmisc%2Flua%2Fvlc.c;h=36fee88a0624d7a02119dda4aa80e2c475d84dc4;hb=588723d7c65ccdb0fa5cc39b3cae132176637300;hp=ad5c0b568c989175aea6952601cbc6089e5ea89e;hpb=07be8bb586c268720eb4deec0509f473a4d64b51;p=vlc diff --git a/modules/misc/lua/vlc.c b/modules/misc/lua/vlc.c index ad5c0b568c..36fee88a06 100644 --- a/modules/misc/lua/vlc.c +++ b/modules/misc/lua/vlc.c @@ -143,6 +143,13 @@ int vlclua_dir_list( const char *luadirname, char **ppsz_dir_list ) return VLC_SUCCESS; } +void vlclua_dir_list_free( char **ppsz_dir_list ) +{ + char **ppsz_dir; + for( ppsz_dir = ppsz_dir_list; *ppsz_dir; ppsz_dir++ ) + free( *ppsz_dir ); +} + /***************************************************************************** * Will execute func on all scripts in luadirname, and stop if func returns * success. @@ -192,7 +199,10 @@ int vlclua_scripts_batch_execute( vlc_object_t *p_this, char *psz_filename; if( asprintf( &psz_filename, "%s" DIR_SEP "%s", *ppsz_dir, *ppsz_file ) < 0) + { + vlclua_dir_list_free( ppsz_dir_list ); return VLC_ENOMEM; + } msg_Dbg( p_this, "Trying Lua playlist script %s", psz_filename ); i_ret = func( p_this, psz_filename, L, user_data ); @@ -211,8 +221,7 @@ int vlclua_scripts_batch_execute( vlc_object_t *p_this, free( *ppsz_file ); free( ppsz_filelist ); } - for( ppsz_dir = ppsz_dir_list; *ppsz_dir; ppsz_dir++ ) - free( *ppsz_dir ); + vlclua_dir_list_free( ppsz_dir_list ); return i_ret; }