[Repository Listing] / [Wireshark]
Wireshark development

We've moved to Git

On January 28, 2014 we migrated from Subversion to Git. Please go to our code review site for current development activity.

Revision 48011

Jump to revision: Previous Next
Author: eapache
Date: Sat Mar 2 16:39:56 2013 UTC (3 years, 3 months ago)
Log Message:
Define a new exception for reassembly errors, and throw it in several cases
instead of using DISSECTOR_ASSERT. When a dissector passes bad data to the
reassembly machine, that isn't necessarily the dissector's fault - the data may
come straight from the packet, and the dissector may not have enough information
to know it's bad without telling the reassembly machine in the first place.

Also fix a bug in the reassembly machine. If it were given a fragment and all of
the following conditions were met:
- the other associated fragments were already marked as done (reassembled)
- the fragment went beyond the end of the conceptual reassembled buffer
- the dissector had not set the PARTIAL_REASSEMBLY flag
then the reassembly machine would incorrectly think there was an overlap and
run past the end of the already-reassembled buffer.

Should fix the rest of

This is probably too big and intrusive to backport directly, and parts of it
will need adapting anyways since reassemble.c has changed. But the bug exists
and crashes in 1.6 and 1.8, so we'll have to do something.

Changed paths

Path Action
trunk/epan/exceptions.h trunk/epan/exceptions.h modified Revision Log
Diff to Previous
trunk/epan/reassemble.c trunk/epan/reassemble.c modified Rev…
trunk/epan/show_exception.c trunk/epan/show_exception.c modified Rev…

webmaster [at] wireshark.org
Tango Icons © Tango Desktop Project. Subversion  TortoiseSVN  ViewVC