Ethereal-users: Re: [Ethereal-users] Possible bug in LLC protocol dissector

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

From: Guy Harris <gharris@xxxxxxxxx>
Date: Fri, 20 Feb 2004 02:27:03 -0800
On Fri, Feb 20, 2004 at 09:03:51AM -0000, Tim Everitt wrote:
> attached is a one frame capture file which seems to cause the LLC protocol
> dissector to drop into an infinite loop which only terminates when all
> physical and swap memory has been allocated and the process is terminated by
> the system.

The frame had two problems:

	1) the length field in the 802.3 header was 1, which was too
	   short for an 802.2 header;

	2) the frame was cut off at a snapshot length shorter than the
	   full frame length.

The first problem caused an exception to be thrown when dissecting the
802.2 header; the handler for that exception was adding the trailer (the
stuff past the value specified in the length field), and that was
throwing *another* exception due to the second problem - the exception
mechanism Ethereal uses can't handle exceptions thrown within an
exception handler, so it was just looping.

I've checked in a change to fix that.