From: Pierre d'Herbemont Date: Thu, 20 Aug 2009 23:21:17 +0000 (+0200) Subject: nuv: Fix some warnings and fix an issue where some unitialized pointer access could... X-Git-Tag: 1.1.0-ff~4064 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=3bbe374b28aa3452cc2da64becb3445cf1d20833;p=vlc nuv: Fix some warnings and fix an issue where some unitialized pointer access could lead to a crash. --- diff --git a/modules/demux/nuv.c b/modules/demux/nuv.c index 99cad8397b..a56c872cd9 100644 --- a/modules/demux/nuv.c +++ b/modules/demux/nuv.c @@ -461,7 +461,10 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) { i64 = stream_Size( p_demux->s ); if( i64 > 0 ) - *pf = (double)stream_Tell( p_demux->s ) / (double)i64; + { + double current = stream_Tell( p_demux->s ); + *pf = current / (double)i64; + } else *pf = 0.0; } @@ -723,8 +726,8 @@ static int SeekTableLoad( demux_t *p_demux, demux_sys_t *p_sys ) { frame_header_t fh; int64_t i_original_pos; - uint8_t* p_seek_table; - uint8_t* p_kfa_table; + uint8_t* p_seek_table = NULL; + uint8_t* p_kfa_table = NULL; int32_t i_seek_elements = 0, i_kfa_elements = 0, j; int64_t i_time, i_offset; int keyframe, last_keyframe = 0, frame = 0, kfa_entry_id = 0; @@ -804,12 +807,17 @@ static int SeekTableLoad( demux_t *p_demux, demux_sys_t *p_sys ) } } - if( i_kfa_elements > 0 ) msg_Warn( p_demux, "untested keyframe adjust support, upload samples" ); - for(j=0; j < i_seek_elements; j++) + for(j = 0; j < i_seek_elements; j++) { + if( !p_seek_table || !p_kfa_table) + { + free(p_seek_table); + free(p_kfa_table); + return VLC_EGENERIC; + } #if 0 uint8_t* p = p_seek_table + j * 12; msg_Dbg( p_demux, "%x %x %x %x %x %x %x %x %x %x %x %x",