Wireshark-bugs: [Wireshark-bugs] [Bug 9247] Crash in TCP reassemble when a read filter is applie

Date: Sun, 10 Nov 2013 21:18:46 +0000

Comment # 4 on bug 9247 from
Created attachment 12048 [details]
gdb backtrace full 50591 + compile fix patch 52142 at -O0

git checkout b68e6dcc429d9dc8e0996c98c1e7ab3e38d75144
# Fix compile error with recent glib headers
git show 49648069eb409567fd2239c0a584a0b6c64b39a9 | patch -p1
sed -i CMakeLists.txt -e s/-O2/-O0/

make -DCMAKE_INSTALL_PREFIX=/tmp/wsroot -DENABLE_GTK3=0 -DENABLE_PORTAUDIO=0
-DENABLE_QT5=0 -DENABLE_GEOIP=0 -DENABLE_KERBEROS=0 -DENABLE_SMI=0
~/projects/wireshark

make && ./tshark -r test.pcap -2 -R smtp
# no crash

git checkout d296ebc5254f78f5c18cd066fc886002b900a0a8
make && ./tshark -r ...
# crash:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff49b9418 in validate_offset (tvb=0x0, abs_offset=0) at
/src/epan/tvbuff.c:188
188             if (G_LIKELY(abs_offset <= tvb->length))

full gdb backtrace is attached (I replaced the full nosiy
/home/peter/.../wireshark path with /src.)

Applying the deadbeef thing gives the following error with GCC 4.8.2:
request for implicit conversion from ‘void *’ to ‘struct tvbuff_t *’ not
permitted in C++ [-Werror=c++-compat]
So, I removed the -Wc++-compat flag from CMakeFiles.txt and it compiles. (I
applied it to two places, one with deadbeef the other with deadbeaf)

This time it crashes again, but with tvbuf=0x0 (tried master and the first
offending commit). Backtrace is still the same with slightly different
addresses but no 0xdeadbeef or 0xdeadbeaf (or its decimal variants).


You are receiving this mail because:
  • You are watching all bug changes.