vlc | branch: master | Francois Cartegnie <[email protected]> | Wed Jun 19 18:00:11 2019 +0200| [13408f65758f3bfb11761535df8e44c4c28e04d4] | committer: Francois Cartegnie
demux: webvtt: fix set_time null deref with no valid cues (fix #22448) > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=13408f65758f3bfb11761535df8e44c4c28e04d4 --- modules/demux/webvtt.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/demux/webvtt.c b/modules/demux/webvtt.c index 23c5e36d66..e60f9a6c45 100644 --- a/modules/demux/webvtt.c +++ b/modules/demux/webvtt.c @@ -438,12 +438,16 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) return VLC_SUCCESS; case DEMUX_SET_TIME: - p_sys->index.i_current = getIndexByTime( p_sys, va_arg( args, vlc_tick_t ) ); - p_sys->b_first_time = true; - p_sys->i_next_demux_time = - p_sys->index.p_array[p_sys->index.i_current].time; - p_sys->i_next_block_flags |= BLOCK_FLAG_DISCONTINUITY; - return VLC_SUCCESS; + if( p_sys->cues.i_count ) + { + p_sys->index.i_current = getIndexByTime( p_sys, va_arg( args, vlc_tick_t ) ); + p_sys->b_first_time = true; + p_sys->i_next_demux_time = + p_sys->index.p_array[p_sys->index.i_current].time; + p_sys->i_next_block_flags |= BLOCK_FLAG_DISCONTINUITY; + return VLC_SUCCESS; + } + break; case DEMUX_GET_POSITION: pf = va_arg( args, double * ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
