diff options
author | Michal Labedzki <michal.labedzki@tieto.com> | 2014-03-03 08:51:27 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2014-03-06 22:03:16 +0000 |
commit | fc2be9eac4dd404d62c58df5d85d65c14d84703c (patch) | |
tree | dcf05f5c2407a0631d0e77877db254aa79b1fa8f /epan/dissectors/packet-bthci_evt.c | |
parent | aac1e0a06a64cb6a7d6c51d5000ddf9ba7f57527 (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.c | 8 |
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; |