Wireshark mailing list archives

Re: Simplifying (and fixing) tvbuff [Long]


From: Bill Meier <wmeier () newsguy com>
Date: Tue, 13 Dec 2011 10:38:03 -0500

On 12/12/2011 4:55 PM, Bill Meier wrote:
Summary
-------

I've recently been digging into the tvbuff code.

<snip>

... and then describe how tvbuff can be simplified.

> <snip>

I think the long description boils down to the following:

Consider the collection of tvbs (chain) as a stack of tvbs.

packet.c pushes the initial tvb onto the stack then calls next dissector; After the dissection is complete, the stack is eventually free'd via a call to tvb_free_chain in epan_dissect_cleanup.


A dissector:
- can add new tvbs (real, subset, composite) to the stack handed to it;
  (Subset and Composite tvbs should reference only tvbs which are
   towards the beginning of the same stack).
- must not save a pointer to a tvb from that stack (handed to it)
  for use when  dissecting another frame (since a
  higher level function may very well free the stack);
- can create its own tvb stack which the dissector is free to manage
  as desired.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
            mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


Current thread: