vlc | branch: master | Jean-Baptiste Kempf <j...@videolan.org> | Tue Feb 26 11:37:36 2013 +0100| [0019260703fb38b15403e8c41c6110d9c79a36f1] | committer: Jean-Baptiste Kempf
DVDread: avoid crashes over invalid cell_playback_offset values Ref #8125 > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0019260703fb38b15403e8c41c6110d9c79a36f1 --- modules/access/dvdread.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/access/dvdread.c b/modules/access/dvdread.c index 93c3c29..79d8304 100644 --- a/modules/access/dvdread.c +++ b/modules/access/dvdread.c @@ -755,6 +755,12 @@ static int DvdReadSetArea( demux_t *p_demux, int i_title, int i_chapter, pgn = p_vts->vts_ptt_srpt->title[p_sys->i_ttn - 1].ptt[0].pgn; p_pgc = p_vts->vts_pgcit->pgci_srp[pgc_id - 1].pgc; + if( p_pgc->cell_playback == NULL ) + { + msg_Err( p_demux, "Invalid PGC (cell_playback_offset)" ); + return VLC_EGENERIC; + } + p_sys->i_title_start_cell = i_start_cell = p_pgc->program_map[pgn - 1] - 1; p_sys->i_title_start_block = @@ -999,6 +1005,8 @@ static int DvdReadSetArea( demux_t *p_demux, int i_title, int i_chapter, p_sys->i_ttn - 1].ptt[i_chapter].pgn; p_pgc = p_vts->vts_pgcit->pgci_srp[pgc_id - 1].pgc; + if( p_pgc->cell_playback == NULL ) + return VLC_EGENERIC; /* Couldn't set chapter */ p_sys->i_cur_cell = p_pgc->program_map[pgn - 1] - 1; p_sys->i_chapter = i_chapter; _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org http://mailman.videolan.org/listinfo/vlc-commits