On Oct 3, 2008, at 12:25 AM, Jaap Keuter wrote:
Bug 2934 brings to light an interesting question: Should
proto_tree_add_???
always have a valid tvb? Sounds logical for every call that adds a
value, but
not so much for _add_text(). The bug states that there are
dissectors which make
that call without a tvb, and this leads to a crash.
Should the (epan and other) code be prepared for tvb == NULL, or
should we
DISSECTOR_ASSERT(tvb)?
If tvb is null, how can the range of bytes in the top-level packet
data corresponding to the item being entered into the protocol tree be
determined? The offset passed to proto_tree_add_xxx is relative to
the beginning of a tvbuff.
I guess if the length of the field is 0, tvb could be null; a zero-
length field is used for, among other things, fields that don't
correspond to any data in the packet.