mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-10-04 05:57:23 +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;
|
rpt = data;
|
||||||
|
|
||||||
len -= sizeof(*rpt) + 1;
|
|
||||||
data += sizeof(rpt) + 1;
|
|
||||||
|
|
||||||
if (rpt->data_len > len) {
|
if (rpt->data_len > len) {
|
||||||
return BLE_HS_ECONTROLLER;
|
return BLE_HS_ECONTROLLER;
|
||||||
}
|
}
|
||||||
|
|
||||||
len -= rpt->data_len;
|
/* extra byte for RSSI after adv data */
|
||||||
data += rpt->data_len;
|
len -= sizeof(*rpt) + 1 + rpt->data_len;
|
||||||
|
data += sizeof(*rpt) + 1 + rpt->data_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Make sure length was correct */
|
/* Make sure length was correct */
|
||||||
|
|||||||
Reference in New Issue
Block a user