Ethereal-dev: Re: [Ethereal-dev] Re: format string in ssl dump

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

From: Guy Harris <guy@xxxxxxxxxx>
Date: Wed, 13 Dec 2000 14:36:24 -0800 (PST)
> Until all dissectors are re-coded with the 'testy buffers' it maybe possible
> to crash ethereal or tethereal with malformed packets, it is dependent
> upon how each dissector was written.

Even *after* all dissectors are recoded with testy buffers it may be
possible to crash Ethereal or Tethereal with malformed packets; all that
tvbuffs do for you is bounds-checking to make sure you don't go past the
end of the packet, they don't keep you from, for example, calling a
routine to look something up in a table, and not bothering to check
whether the routine returned a null pointer if it doesn't find it.

The same, of course, applies to any other packet analyzer program;
tcpdump's equivalent to tvbuffs is the TTEST/TTEST/TCHECK/TCHECK2
macros, but

	1) somebody might not bother using them to do bounds-checking
	   and might not do any other bounds-checking (I just checked
	   some additional bounds checking into the tcpdump SMB
	   dissector; it was crashing without the bounds checking);

	2) dissectors might fail to do other sanity checks (I checked
	   some sanity checks into the tcpdump RADIUS dissector, the
	   lack of which was causing crashes).