aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-hci_usb.c
diff options
context:
space:
mode:
authorMichal Labedzki <michal.labedzki@tieto.com>2015-02-26 14:38:57 +0100
committerMichal Labedzki <michal.labedzki@tieto.com>2015-03-02 18:28:17 +0000
commit768e37b792e5de46e03a396fc416d0a42b71243b (patch)
tree129ee0221476c392997dc6fd7343ac646db03e65 /epan/dissectors/packet-hci_usb.c
parent77d2dc589241a6ade357a133574126abe1b408ef (diff)
Bluetooth: Fix tools/checkAPI issues
Change-Id: I8ffbd4a0da800594d9888f6a30612d4fc5273119 Reviewed-on: https://code.wireshark.org/review/7474 Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Diffstat (limited to 'epan/dissectors/packet-hci_usb.c')
-rw-r--r--epan/dissectors/packet-hci_usb.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/epan/dissectors/packet-hci_usb.c b/epan/dissectors/packet-hci_usb.c
index dbd87a11b8..42c49d3e70 100644
--- a/epan/dissectors/packet-hci_usb.c
+++ b/epan/dissectors/packet-hci_usb.c
@@ -172,7 +172,8 @@ dissect_hci_usb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
bluetooth_data->adapter_disconnect_in_frame = &max_disconnect_in_frame;
next_tvb = tvb_new_subset_remaining(tvb, offset);
- if (!pinfo->fd->flags.visited && usb_conv_info->endpoint <= 0x02) {
+ if (!pinfo->fd->flags.visited && usb_conv_info->endpoint <= 0x02 &&
+ tvb_captured_length(tvb) == tvb_reported_length(tvb)) {
fragment_info_t *fragment_info;
fragment_info = (fragment_info_t *) wmem_tree_lookup32(fragment_info_table, session_id);
@@ -199,11 +200,11 @@ dissect_hci_usb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
}
}
- fragment_info->remaining_length -= tvb_ensure_length_remaining(tvb, offset);
+ fragment_info->remaining_length -= tvb_reported_length_remaining(tvb, offset);
fragment_add_seq_check(&hci_usb_reassembly_table,
tvb, offset, pinfo, session_id, NULL,
- fragment_info->fragment_id, tvb_length_remaining(tvb, offset), (fragment_info->remaining_length == 0) ? FALSE : TRUE);
+ fragment_info->fragment_id, tvb_reported_length_remaining(tvb, offset), (fragment_info->remaining_length == 0) ? FALSE : TRUE);
if (fragment_info->remaining_length > 0)
fragment_info->fragment_id += 1;
else
@@ -220,7 +221,7 @@ dissect_hci_usb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
pitem = proto_tree_add_item(ttree, hf_bthci_usb_packet_complete, tvb, offset, -1, ENC_NA);
PROTO_ITEM_SET_GENERATED(pitem);
- if (reassembled->len > tvb_ensure_length_remaining(tvb, offset)) {
+ if (reassembled->len > (guint) tvb_reported_length_remaining(tvb, offset)) {
next_tvb = process_reassembled_data(tvb, 0, pinfo,
"Reassembled HCI_USB",
reassembled, &hci_usb_msg_frag_items,
@@ -250,7 +251,7 @@ dissect_hci_usb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
proto_tree_add_item(ttree, hf_bthci_usb_data, tvb, offset, -1, ENC_NA);
}
- offset += tvb_length_remaining(tvb, offset);
+ offset += tvb_reported_length_remaining(tvb, offset);
pinfo->p2p_dir = p2p_dir_save;