vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Thu Jul 31 00:13:01 2014 +0300| [a574625173749f15508df6dce47023e533a6e8f5] | committer: Rémi Denis-Courmont
asx: fix use-after-free (fixes #11852) > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a574625173749f15508df6dce47023e533a6e8f5 --- modules/demux/playlist/asx.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/demux/playlist/asx.c b/modules/demux/playlist/asx.c index 79a841d..099cc5e 100644 --- a/modules/demux/playlist/asx.c +++ b/modules/demux/playlist/asx.c @@ -210,11 +210,11 @@ static void ProcessEntry( int *pi_n_entry, xml_reader_t *p_xml_reader, /* Metadata Node */ if( !strncasecmp( psz_node, "TITLE", 5 ) ) ReadElement( p_xml_reader, &psz_title ); - if( !strncasecmp( psz_node, "AUTHOR", 6 ) ) + else if( !strncasecmp( psz_node, "AUTHOR", 6 ) ) ReadElement( p_xml_reader, &psz_artist ); - if( !strncasecmp( psz_node, "COPYRIGHT", 9 ) ) + else if( !strncasecmp( psz_node, "COPYRIGHT", 9 ) ) ReadElement( p_xml_reader, &psz_copyright ); - if( !strncasecmp( psz_node,"MOREINFO", 8 ) ) + else if( !strncasecmp( psz_node,"MOREINFO", 8 ) ) { do { @@ -228,13 +228,13 @@ static void ProcessEntry( int *pi_n_entry, xml_reader_t *p_xml_reader, psz_moreinfo = strdup( psz_node ); resolve_xml_special_chars( psz_moreinfo ); } - if( !strncasecmp( psz_node, "ABSTRACT", 8 ) ) + else if( !strncasecmp( psz_node, "ABSTRACT", 8 ) ) ReadElement( p_xml_reader, &psz_description ); - if( !strncasecmp( psz_node, "DURATION", 8 ) ) + else if( !strncasecmp( psz_node, "DURATION", 8 ) ) i_duration = ParseTime( p_xml_reader ); - if( !strncasecmp( psz_node, "STARTTIME", 9 ) ) + else if( !strncasecmp( psz_node, "STARTTIME", 9 ) ) i_start = ParseTime( p_xml_reader ); - + else /* Reference Node */ /* All ref node will be converted into an entry */ if( !strncasecmp( psz_node, "REF", 3 ) ) @@ -361,17 +361,17 @@ static int Demux( demux_t *p_demux ) ReadElement( p_xml_reader, &psz_title_asx ); input_item_SetTitle( p_current_input, psz_title_asx ); } - if( !strncasecmp( psz_node, "AUTHOR", 6 ) ) + else if( !strncasecmp( psz_node, "AUTHOR", 6 ) ) { ReadElement( p_xml_reader, &psz_txt ); input_item_SetArtist( p_current_input, psz_txt ); } - if( !strncasecmp( psz_node, "COPYRIGHT", 9 ) ) + else if( !strncasecmp( psz_node, "COPYRIGHT", 9 ) ) { ReadElement( p_xml_reader, &psz_txt ); input_item_SetCopyright( p_current_input, psz_txt ); } - if( !strncasecmp( psz_node, "MOREINFO", 8 ) ) + else if( !strncasecmp( psz_node, "MOREINFO", 8 ) ) { const char *psz_tmp; do @@ -388,16 +388,16 @@ static int Demux( demux_t *p_demux ) resolve_xml_special_chars( psz_txt ); input_item_SetURL( p_current_input, psz_txt ); } - if( !strncasecmp( psz_node, "ABSTRACT", 8 ) ) + else if( !strncasecmp( psz_node, "ABSTRACT", 8 ) ) { ReadElement( p_xml_reader, &psz_txt ); input_item_SetDescription( p_current_input, psz_txt ); } - + else /* Base Node handler */ if( !strncasecmp( psz_node, "BASE", 4 ) ) ReadElement( p_xml_reader, &psz_base ); - + else /* Entry Ref Handler */ if( !strncasecmp( psz_node, "ENTRYREF", 7 ) ) { @@ -418,7 +418,7 @@ static int Demux( demux_t *p_demux ) vlc_gc_decref( p_input ); } - + else /* Entry Handler */ if( !strncasecmp( psz_node, "ENTRY", 5 ) ) { _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
