mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-06-05 21:04:49 +00:00
nimble/host: Fix legacy advertising report event validation
If event contained more than one report it would likely failed validation due to invalid data comparison.
This commit is contained in:
@@ -607,15 +607,13 @@ ble_hs_hci_evt_le_adv_rpt_first_pass(const void *data, unsigned int len)
|
||||
|
||||
rpt = data;
|
||||
|
||||
len -= sizeof(*rpt) + 1;
|
||||
data += sizeof(rpt) + 1;
|
||||
|
||||
if (rpt->data_len > len) {
|
||||
return BLE_HS_ECONTROLLER;
|
||||
}
|
||||
|
||||
len -= rpt->data_len;
|
||||
data += rpt->data_len;
|
||||
/* extra byte for RSSI after adv data */
|
||||
len -= sizeof(*rpt) + 1 + rpt->data_len;
|
||||
data += sizeof(*rpt) + 1 + rpt->data_len;
|
||||
}
|
||||
|
||||
/* Make sure length was correct */
|
||||
|
||||
Reference in New Issue
Block a user