The output of
print *(tvbuff_t *)0x83fd418
print *(frame_data *)0xbfbff3c8
print *(struct pcap_pkthdr *)0x83f515c
from that particular crash (I'm doing it that way just in case the
relevant variables are dead, as GDB would probably whine, or print crap,
if that's the case) would be interesting, and might even give the
relevant information (if, for example, the last of those reported that
either "caplen" or "len" was 0, that would indicate that either libpcap
or BPF was doing something Immensely Weird).
So here they are:
(gdb) print *(tvbuff_t *)0x83fd418
$1 = {type = TVBUFF_REAL_DATA, initialized = 1, usage_count = 1, ds_name
= 0x83dd550 "Frame", used_in = 0x0,
tvbuffs = {subset = {tvb = 0x0, offset = 0, length = 0}, composite =
{tvbs = 0x0, start_offsets = 0x0,
end_offsets = 0x0}}, real_data = 0x83f5df9 "LACK", length =
4294967295, reported_length = 838090752,
raw_offset = -1, free_cb = 0}
(gdb) print *(tvbuff_t *)0x83fd418
$2 = {type = TVBUFF_REAL_DATA, initialized = 1, usage_count = 1, ds_name
= 0x83dd550 "Frame", used_in = 0x0,
tvbuffs = {subset = {tvb = 0x0, offset = 0, length = 0}, composite =
{tvbs = 0x0, start_offsets = 0x0,
end_offsets = 0x0}}, real_data = 0x83f5df9 "LACK", length =
4294967295, reported_length = 838090752,
raw_offset = -1, free_cb = 0}
(gdb) print *(tvbuff_t *)0x83fd418
$3 = {type = TVBUFF_REAL_DATA, initialized = 1, usage_count = 1, ds_name
= 0x83dd550 "Frame", used_in = 0x0,
tvbuffs = {subset = {tvb = 0x0, offset = 0, length = 0}, composite =
{tvbs = 0x0, start_offsets = 0x0,
end_offsets = 0x0}}, real_data = 0x83f5df9 "LACK", length =
4294967295, reported_length = 838090752,
raw_offset = -1, free_cb = 0}
hope it helps :)
marcin
--
Marcin Gryszkalis <mg@xxxxxxxxx>
or <dagoon@xxxxxxxxxxxxxxxx>