mirror of
https://github.com/espressif/esp-idf
synced 2025-03-13 11:09:12 -04:00
NimBLE: host_rcv_pkt event buf size check.
Check if the size of HCI event buffer is greater than the received HCI packet. If not then abort with the error message.
This commit is contained in:
parent
e849a77675
commit
d67e284c8d
@ -342,6 +342,13 @@ static int host_rcv_pkt(uint8_t *data, uint16_t len)
|
||||
totlen = BLE_HCI_EVENT_HDR_LEN + data[2];
|
||||
assert(totlen <= UINT8_MAX + BLE_HCI_EVENT_HDR_LEN);
|
||||
|
||||
if (totlen > MYNEWT_VAL(BLE_HCI_EVT_BUF_SIZE)) {
|
||||
ESP_LOGE(TAG, "Received HCI data length at host (%d) exceeds maximum configured HCI event buffer size (%d).",
|
||||
totlen, MYNEWT_VAL(BLE_HCI_EVT_BUF_SIZE));
|
||||
ble_hs_sched_reset(BLE_HS_ECONTROLLER);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (data[1] == BLE_HCI_EVCODE_HW_ERROR) {
|
||||
assert(0);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user