Wireshark-bugs: [Wireshark-bugs] [Bug 1124] Application level protocol PDUs not dissected proper
Date: Tue, 24 Oct 2006 18:19:01 +0000 (GMT)
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1124


igavriloff@xxxxxxxxxxxx changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |igavriloff@xxxxxxxxxxxx




------- Comment #5 from igavriloff@xxxxxxxxxxxx  2006-10-24 18:19 GMT -------
In this condition the following subtraction in packet-tcp.c:1194 (revision
19669) results in a negative value:

old_len=(int)(tvb_reported_length(next_tvb)-tvb_reported_length_remaining(tvb,
offset));

tvb_reported_length(next_tvb) =  size requested by (*get_pdu_len) routine
tvb_reported_length_remaining(tvb, offset) = size of the remaining tvb from
where the additional bytes came from

The clause (pinfo->desegment_offset<=old_len) is false because
pinfo->desegment_offset is zero and old_len is negative.

Removind this clause also makes it to work but it is ignoring completely this
check. I didn't figure out in which situation this check is necessary.


-- 
Configure bugmail: http://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.