DISSECTOR_ASSERT on member_length when composing a disjoint tvb in order to

avoid an infinite recursion. More robust handling of the error case in
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8097
but doesn't fix the actual bug (which is that either DHCP or BOOTP is building
an invalid tvbuff).

svn path=/trunk/; revision=46564
This commit is contained in:
Evan Huus 2012-12-16 16:21:41 +00:00
parent 0d40765d08
commit 18538f6c8a
1 changed files with 1 additions and 0 deletions

View File

@ -1044,6 +1044,7 @@ composite_memcpy(tvbuff_t *tvb, guint8* target, guint abs_offset, size_t abs_len
retval = compute_offset_length(member_tvb->length, member_tvb->reported_length, abs_offset - composite->start_offsets[i], -1,
&member_offset, &member_length, NULL);
DISSECTOR_ASSERT(retval);
DISSECTOR_ASSERT(member_length);
tvb_memcpy(member_tvb, target, member_offset, member_length);
abs_offset += member_length;