Ethereal-dev: Re: [Ethereal-dev] Re: New dissectors: H.223 and friends

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

From: Richard van der Hoff <richardv@xxxxxxxxxxxxx>
Date: Mon, 10 Oct 2005 13:42:27 +0100
Guy Harris wrote:
Richard van der Hoff wrote:

However, I've spotted a bug in the new desegmentation in iax2, which means that higher-level PDUs aren't dissected when they ought to be, but tend to be grouped together in later packets - I've attached a patch against svn r16110 to fix this; it also makes the code a bit clearer...


Are those higher-level PDUs always in order, so that there's no sequence number in them? If so, then you should be using "fragment_add_seq_next()".

You may well be right - I'm not entirely sure why Jeff chose fragment_add(), but I imagine it was because he based the code on the TCP dissector.

However, I'm not clear on what "id" is used for in fragment_add_seq_next() - it doesn't seem to be mentioned in the comments. Could you explain?

That would probably be a good thing, as the code currently will, on the first pass, set "complete" to TRUE even if the "fragment_add()" call returns NULL, causing a null pointer dereference crash, at least with some captures, when it tries to use "fd_head" to point to values to use as arguments to "tvb_new_real_data()".

See bugs 515 through 519.

Indeed, I'd spotted those over the weekend and flagged them for attention this morning :).

Richard


--
Richard van der Hoff <richardv@xxxxxxxxxxxxx>
Systems Analyst
Tel: +44 (0) 845 666 7778
http://www.mxtelecom.com