Hi,
I think there is a bug in tvb_find_guint8 so that it could return a wrong value that can even be outside of the tvb len. When recursively going up through subset tvbs (tvb->ops->tvb_find_guint8) it does not account for the difference in offset between the subsets.
Attached is a patch I have written that seems to work. However, to be honest I am fairly new to Wireshark development and do not understand tvbuff very well. It would be better if somebody who understands the inner workings of tvbuff looks into this.
Kind regards,
Jan Venekamp