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:
Szymon Janc
2024-09-24 13:48:31 +02:00
parent f39330866a
commit 3b7a32ea09
+3 -5
View File
@@ -479,15 +479,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 */