Wireshark-dev: Re: [Wireshark-dev] [Wireshark-commits] rev 48011: /trunk/epan/ /trunk/epan/: ex
From: Evan Huus <eapache@xxxxxxxxx>
Date: Sat, 2 Mar 2013 11:43:33 -0500
I would appreciate some thoughts on this change from someone who knows
the reassembly machinery better than myself.

Evan

On Sat, Mar 2, 2013 at 11:39 AM,  <eapache@xxxxxxxxxxxxx> wrote:
> http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=48011
>
> User: eapache
> Date: 2013/03/02 08:39 AM
>
> Log:
>  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
>  https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8380
>
>  #BACKPORT
>  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.
>
> Directory: /trunk/epan/
>   Changes    Path                Action
>   +26 -2     exceptions.h        Modified
>   +47 -34    reassemble.c        Modified
>   +17 -0     show_exception.c    Modified
>
> ___________________________________________________________________________
> Sent via:    Wireshark-commits mailing list <wireshark-commits@xxxxxxxxxxxxx>
> Archives:    http://www.wireshark.org/lists/wireshark-commits
> Unsubscribe: https://wireshark.org/mailman/options/wireshark-commits
>              mailto:wireshark-commits-request@xxxxxxxxxxxxx?subject=unsubscribe