This is an automated email from the ASF dual-hosted git repository. janc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git
commit 3b7a32ea09a3bffaab831ee0ab193a2375fc4df6 Author: Szymon Janc <[email protected]> AuthorDate: Mon Sep 23 15:57:46 2024 +0200 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. --- nimble/host/src/ble_hs_hci_evt.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/nimble/host/src/ble_hs_hci_evt.c b/nimble/host/src/ble_hs_hci_evt.c index 3cb5f9858..181a2fb48 100644 --- a/nimble/host/src/ble_hs_hci_evt.c +++ b/nimble/host/src/ble_hs_hci_evt.c @@ -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 */
