Fixes a crash in dvdnav_describe_title_chapters() with vlc, lsdvd, and other video players caused by an invalid value for pgcn. This occurs with the "Inside Man" DVD.
Ref: https://bugs.launchpad.net/ubuntu/+source/libdvdnav/+bug/1094499 Signed-off-by: Bryce Harrington <[email protected]> --- src/searching.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/searching.c b/src/searching.c index a9b4dc9..86d4d97 100644 --- a/src/searching.c +++ b/src/searching.c @@ -641,6 +641,11 @@ uint32_t dvdnav_describe_title_chapters(dvdnav_t *this, int32_t title, uint64_t length = 0; for(i=0; i<parts; i++) { uint32_t cellnr, endcellnr; + /* This mimics pgcn checks in ifoRead_VTS_PTT_SRPT() */ + if (ptt[i].pgcn > 1000 || ptt[i].pgcn < 0) { + printerr("PGCN out of bounds."); + continue; + } if (ifo->vts_pgcit->pgci_srp[ptt[i].pgcn-1].pgc_start_byte >= ifo->vts_pgcit->last_byte) { printerr("PGC start out of bounds"); continue; -- 1.7.9.5 _______________________________________________ DVDnav-discuss mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/dvdnav-discuss
