aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-bthci_evt.c
diff options
context:
space:
mode:
authorMichal Labedzki <michal.labedzki@tieto.com>2014-03-03 08:51:27 +0100
committerAnders Broman <a.broman58@gmail.com>2014-03-06 22:03:16 +0000
commitfc2be9eac4dd404d62c58df5d85d65c14d84703c (patch)
treedcf05f5c2407a0631d0e77877db254aa79b1fa8f /epan/dissectors/packet-bthci_evt.c
parentaac1e0a06a64cb6a7d6c51d5000ddf9ba7f57527 (diff)
Bluetooth: HCI_EVT: Fix empty advertising data
LE Advertising Report with length 0 is valid, so check it before dissecting adverising data. Change-Id: I4937ec2de5d703b05c6e5f5bac7f81d153e49b40 Reviewed-on: https://code.wireshark.org/review/475 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-bthci_evt.c')
-rw-r--r--epan/dissectors/packet-bthci_evt.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/epan/dissectors/packet-bthci_evt.c b/epan/dissectors/packet-bthci_evt.c
index f790a38c78..e381b7f6f1 100644
--- a/epan/dissectors/packet-bthci_evt.c
+++ b/epan/dissectors/packet-bthci_evt.c
@@ -1782,9 +1782,11 @@ dissect_bthci_evt_le_meta(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree_add_item(tree, hf_bthci_evt_data_length, tvb, offset, 1, ENC_NA);
offset += 1;
- call_dissector(btcommon_ad_handle, tvb_new_subset(tvb, offset, length, length), pinfo, tree);
- save_remote_device_name(tvb, offset, pinfo, length, bd_addr, hci_data);
- offset += length;
+ if (length > 0) {
+ call_dissector(btcommon_ad_handle, tvb_new_subset(tvb, offset, length, length), pinfo, tree);
+ save_remote_device_name(tvb, offset, pinfo, length, bd_addr, hci_data);
+ offset += length;
+ }
proto_tree_add_item(tree, hf_bthci_evt_rssi, tvb, offset, 1, ENC_LITTLE_ENDIAN);
offset += 1;