A user came in irc #mplayer complaining that dvdnav crashes with a
number of programs (VLC included). He did manage to provide a detailed
backtrace.
Here is a part of it:
--
*** libdvdread: CHECK_VALUE failed in ifo_read.c:914 ***
*** for pgc->program_map_offset != 0 ***

*** libdvdread: CHECK_VALUE failed in ifo_read.c:916 ***
*** for pgc->cell_position_offset != 0 ***
[...]
dvdnav_describe_title_chapters (this=0x7fffd0006e00, title=<optimized
out>, times=
    0x7fffd7b0f018, duration=0x7fffd7b0f010) at searching.c:625
625         cellnr = pgc->program_map[ptt[i].pgn-1];
--

Thanks to that report I made quick workaround that seems to avoid the
crash. Patch attached to the mail.


I have asked the user to compare the .IFO and . BUP files in case the
.IFO is intentionally broken as some DRM scheme, but they seem to have
the same checksums.

The user also provided the .BUP file and I can forward it off-list, in
case somebody wants to investigate.
The source seems to be original disk of "the dictator".

Best Regards
   Ivan Kalvachev
  iive
Index: searching.c
===================================================================
--- searching.c	(revision 1251)
+++ searching.c	(working copy)
@@ -617,7 +617,7 @@
   for(i=0; i<parts; i++) {
     uint32_t cellnr, endcellnr;
     pgc = ifo->vts_pgcit->pgci_srp[ptt[i].pgcn-1].pgc;
-    if(ptt[i].pgn > pgc->nr_of_programs) {
+    if(ptt[i].pgn > 0 && ptt[i].pgn > pgc->nr_of_programs) {
       printerr("WRONG part number.");
       goto fail;
     }
_______________________________________________
DVDnav-discuss mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/dvdnav-discuss

Reply via email to