Ethereal-dev: Re: [Ethereal-dev] Crash in SMPP

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Fri, 19 Dec 2003 11:26:00 -0800

On Dec 19, 2003, at 3:35 AM, Biot Olivier wrote:

Attached packet causes Ethereal to crash in malloc() in cygwin
run-time DLLs,or to exit upon a failed assertion:

** ERROR **: file tvbuff.c: line 812 (ensure_contiguous_no_exception):
should not be reached.

0000000: 736e 6f6f 7000 0000 0000 0002 0000 0004  snoop...........

Presumably by "attached packet" you mean "capture file whose contents are shown by this dump". "snoop" looks suspiciously like the magic number for a file from Sun's snoop or Shomiti/Finisar's Surveyor.

I've converted that back to a binary file, and when I try reading it, I get the same crash.

It looks as if the file isn't a valid snoop-format file - the packet sizes for the first record are *VERY* bogus, which probably caused some bogus values to be in the top-level tvbuff, causing the crash.

I can read it in Tethereal, because it's not trying to dump the raw hex data (the crash occurs when Ethereal tries to show the hex data pane) - the packet contains SMPP-over-TCP-over-IP-over-Ethernet, and the IP header checksum is valid, so that probably *was* something that at least tried to be a snoop capture.

What software produced the capture?

I've attached the converted-back-to-binary file. I'll look at putting some sanity checking into the code to read Snoop files.

Attachment: bad.snoop
Description: Binary data