Composite tvb (tvb_memcpy/tvb_get_ptr): don't assert with offset == tvb->length, and 0 length

svn path=/trunk/; revision=51444
This commit is contained in:
Jakub Zawadzki 2013-08-20 19:54:42 +00:00
parent 39122c4ec8
commit 8ade8c4750
1 changed files with 12 additions and 2 deletions

View File

@ -97,7 +97,12 @@ composite_get_ptr(tvbuff_t *tvb, guint abs_offset, guint abs_length)
break;
}
}
DISSECTOR_ASSERT(member_tvb);
/* special case */
if (!member_tvb) {
DISSECTOR_ASSERT(abs_offset == tvb->length && abs_length == 0);
return "";
}
member_offset = abs_offset - composite->start_offsets[i];
@ -142,7 +147,12 @@ composite_memcpy(tvbuff_t *tvb, void* _target, guint abs_offset, guint abs_lengt
break;
}
}
DISSECTOR_ASSERT(member_tvb);
/* special case */
if (!member_tvb) {
DISSECTOR_ASSERT(abs_offset == tvb->length && abs_length == 0);
return target;
}
member_offset = abs_offset - composite->start_offsets[i];