clean up the part where dissect_websocket() is called recursively

Change-Id: Ia94ddb2c4cb03fe5d1af9f8d316e1cdb18fe8283
Reviewed-on: https://code.wireshark.org/review/6143
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Tested-by: Martin Kaiser <wireshark@kaiser.cx>
This commit is contained in:
Martin Kaiser 2014-12-30 17:57:44 +01:00
parent 246f727789
commit f3f736c67f
1 changed files with 5 additions and 2 deletions

View File

@ -406,10 +406,13 @@ dissect_websocket(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
recurse_offset = payload_offset + payload_length;
if (length > recurse_offset) {
recurse_length = dissect_websocket(tvb_new_subset_remaining(tvb, payload_offset+payload_length), pinfo, tree, data);
if (pinfo->desegment_len) pinfo->desegment_offset += recurse_offset;
recurse_length = dissect_websocket(tvb_new_subset_remaining(tvb, recurse_offset), pinfo, tree, data);
if (pinfo->desegment_len)
pinfo->desegment_offset += recurse_offset;
return recurse_offset + recurse_length;
}
return recurse_offset;
}