vlc/vlc-2.1 | branch: master | Rémi Duraffort <[email protected]> | Tue Jul 23 21:55:22 2013 +0200| [2c3099a97e30cb0354a436866f8a23dad28151fe] | committer: Jean-Baptiste Kempf
Fix many memory leaks (and potential ones) In case of a wrongly formated file, the strings where never dealocated. Same if some strings where empty. (cherry picked from commit e66123d2a869284ac4c5e3f95847b969ec6d85ff) Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc/vlc-2.1.git/?a=commit;h=2c3099a97e30cb0354a436866f8a23dad28151fe --- modules/demux/playlist/zpl.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/modules/demux/playlist/zpl.c b/modules/demux/playlist/zpl.c index 0628113..f909c47 100644 --- a/modules/demux/playlist/zpl.c +++ b/modules/demux/playlist/zpl.c @@ -179,8 +179,8 @@ static int Demux( demux_t *p_demux ) if( !EMPTY_STR(variable) ) \ { \ input_item_Set##type( p_input, variable ); \ - FREENULL( variable ); \ - } + } \ + FREENULL( variable ); /* set the meta */ SET( psz_genre, Genre ); SET( psz_tracknum, TrackNum ); @@ -208,6 +208,22 @@ static int Demux( demux_t *p_demux ) input_item_node_PostAndDelete( p_subitems ); vlc_gc_decref(p_current_input); + + // Free everything if the file is wrongly formated + free( psz_title ); + free( psz_genre ); + free( psz_tracknum ); + free( psz_language ); + free( psz_artist ); + free( psz_album ); + free( psz_date ); + free( psz_publisher ); + free( psz_encodedby ); + free( psz_description ); + free( psz_url ); + free( psz_copyright ); + free( psz_mrl ); + var_Destroy( p_demux, "zpl-extvlcopt" ); return 0; /* Needed for correct operation of go back */ } _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
