Package: libdvdread4
Version: 4.2.0-1
Tags: patch
Followup-For: Bug #651926

The source of the bug is to be found in the following gcc warning
  src/dvd_reader.c:429:9: warning: implicit declaration of function 
‘get_current_dir_name’ [-Wimplicit-function-declaration]
  src/dvd_reader.c:429:18: warning: assignment makes pointer from integer 
without a cast [enabled by default]

As a consequence gcc assumes the return type of get_current_dir_name (added 
with 05-hurd.patch) is an integer which does
not have the same size as a pointer (see 
http://wiki.debian.org/ImplicitPointerConversions).

Declaring the method get_current_dir_name() fix the crash.

--- libdvdread-4.2.0.orig/src/dvd_reader.c
+++ libdvdread-4.2.0/src/dvd_reader.c
@@ -65,6 +65,10 @@ static inline int _private_gettimeofday(
 #include <paths.h>
 #endif
 
+#ifdef __GLIBC__
+char * get_current_dir_name(void);
+#endif
+
 #include "dvdread/dvd_udf.h"
 #include "dvd_input.h"
 #include "dvdread/dvd_reader.h"


For reference, the backtrace with the segfault when the pointer return by 
get_current_dir_name() is read.

#0  0x00007ffff5888cb4 in DVDOpen (ppath=0x7fffdc009ee0 "/tmp/test") at 
/build/buildd-libdvdread_4.2.0-1-amd64-cnJJSM/libdvdread-4.2.0/src/dvd_reader.c:459
#1  0x00007ffff5ab73b3 in vm_reset (vm=0x7fffd4001260, dvdroot=0x7fffdc009ee0 
"/tmp/test") at 
/build/buildd-libdvdnav_4.2.0-1-amd64-uPwmIO/libdvdnav-4.2.0/src/vm/vm.c:358
#2  0x00007ffff5aad62c in dvdnav_open (dest=0x7fffe2c23980, path=0x7fffdc009ee0 
"/tmp/test") at 
/build/buildd-libdvdnav_4.2.0-1-amd64-uPwmIO/libdvdnav-4.2.0/src/dvdnav.c:99
#3  0x00007ffff5cc8f17 in Open () from 
/usr/lib/vlc/plugins/access/libdvdnav_plugin.so
#4  0x00007ffff7964d75 in module_need () from /usr/lib/libvlccore.so.4
#5  0x00007ffff79211fc in __demux_New () from /usr/lib/libvlccore.so.4
#6  0x00007ffff792ddd4 in InputSourceInit () from /usr/lib/libvlccore.so.4
#7  0x00007ffff792f128 in Init () from /usr/lib/libvlccore.so.4
#8  0x00007ffff7932755 in Run () from /usr/lib/libvlccore.so.4
#9  0x00007ffff796a0e4 in thread_entry () from /usr/lib/libvlccore.so.4
#10 0x00007ffff76c4b50 in start_thread (arg=<optimized out>) at 
pthread_create.c:304
#11 0x00007ffff720b4ad in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()


regards,
Olivier



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to