Bluetooth: HCI_EVT: Fix empty advertising data
authorMichal Labedzki <michal.labedzki@tieto.com>
Mon, 3 Mar 2014 07:51:27 +0000 (08:51 +0100)
committerAnders Broman <a.broman58@gmail.com>
Thu, 6 Mar 2014 22:03:16 +0000 (22:03 +0000)
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>
epan/dissectors/packet-bthci_evt.c

index f790a38c7893ec89db6cf56da148c7f9ab85f6a6..e381b7f6f1d645075137e3882e99fd3a00cfa5a9 100644 (file)
@@ -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;