Package: lsdvd
Version: 0.16-3
Severity: important

When doing lsdvd on one of my DVDs, lsdvd segfaults.

  guest@pxeinstall:~/src/lsdvd-0.16$ ./lsdvd /dev/dvd2
  libdvdread: Using libdvdcss version 1.2.10 for DVD access
  Please send bug report - no VTS_TMAPT ?? 
  Minnesegmentsfeil
  guest@pxeinstall:~/src/lsdvd-0.16$ 

This is the same DVD that causes a problem with python3-dvdvideo in
<URL: http://bugs.debian.org/720831 >.

I built lsdvd using 'DEB_BUILD_OPTIONS=nostrip debuild' and ran it under
valgrind to figure out where it fail:

guest@pxeinstall:~/src/lsdvd-0.16$ valgrind ./lsdvd /dev/dvd2
==4927== Memcheck, a memory error detector
==4927== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==4927== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for 
copyright info
==4927== Command: ./lsdvd /dev/dvd2
==4927== 
libdvdread: Using libdvdcss version 1.2.10 for DVD access
==4927== Warning: noted but unhandled ioctl 0x5390 with no size/direction hints
==4927==    This could cause spurious value errors to appear.
==4927==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a 
proper wrapper.
==4927== Warning: noted but unhandled ioctl 0x5392 with no size/direction hints
==4927==    This could cause spurious value errors to appear.
==4927==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a 
proper wrapper.
==4927== Warning: noted but unhandled ioctl 0x5392 with no size/direction hints
==4927==    This could cause spurious value errors to appear.
==4927==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a 
proper wrapper.
Please send bug report - no VTS_TMAPT ?? 
==4927== Invalid read of size 2
==4927==    at 0x4016B6: main (lsdvd.c:291)
==4927==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==4927== 
==4927== 
==4927== Process terminating with default action of signal 11 (SIGSEGV)
==4927==  Access not within mapped region at address 0x0
==4927==    at 0x4016B6: main (lsdvd.c:291)
==4927==  If you believe this happened as a result of a stack
==4927==  overflow in your program's main thread (unlikely but
==4927==  possible), you can try to increase the size of the
==4927==  main thread stack using the --main-stacksize= flag.
==4927==  The main thread stack size used in this run was 8388608.
==4927== 
==4927== HEAP SUMMARY:
==4927==     in use at exit: 25,307 bytes in 61 blocks
==4927==   total heap usage: 253 allocs, 192 frees, 306,530 bytes allocated
==4927== 
==4927== LEAK SUMMARY:
==4927==    definitely lost: 1,913 bytes in 20 blocks
==4927==    indirectly lost: 2,966 bytes in 26 blocks
==4927==      possibly lost: 0 bytes in 0 blocks
==4927==    still reachable: 20,428 bytes in 15 blocks
==4927==         suppressed: 0 bytes in 0 blocks
==4927== Rerun with --leak-check=full to see details of leaked memory
==4927== 
==4927== For counts of detected and suppressed errors, rerun with: -v
==4927== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)
Minnesegmentsfeil
guest@pxeinstall:~/src/lsdvd-0.16$ 

This is the information I could get from gdb:

(gdb) run /dev/dvd2
Starting program: /home/guest/src/lsdvd-0.16/lsdvd /dev/dvd2
libdvdread: Using libdvdcss version 1.2.10 for DVD access
Please send bug report - no VTS_TMAPT ?? 

Program received signal SIGSEGV, Segmentation fault.
0x00000000004016b6 in main (argc=2, argv=<value optimized out>) at lsdvd.c:291
291             ifo = (ifo_handle_t **)malloc((ifo_zero->vts_atrt->nr_of_vtss + 
1) * sizeof(ifo_handle_t *));
(gdb) p ifo_zero
$1 = <value optimized out>
(gdb) p ifo_zero->vts_atrt
Cannot access memory at address 0x28
(gdb) p ifo_zero->vts_atrt->nr_of_vtss
Cannot access memory at address 0x28
(gdb) 

-- 
Happy hacking
Petter Reinholdtsen


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to