From 4b9392ea32516c717899bc067a231430a5cce503 Mon Sep 17 00:00:00 2001 From: Rahul Tank Date: Mon, 26 Oct 2026 15:21:12 +0530 Subject: [PATCH] fix(nimble): free eatt event when eventq is full --- nimble/host/src/ble_eatt.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nimble/host/src/ble_eatt.c b/nimble/host/src/ble_eatt.c index 136d0e824..ea787700e 100644 --- a/nimble/host/src/ble_eatt.c +++ b/nimble/host/src/ble_eatt.c @@ -487,6 +487,11 @@ ble_gatt_eatt_read_uuid_cb(uint16_t conn_handle, if (ev) { ble_npl_event_init(ev, ble_gatt_eatt_read_cl_uuid, (void *)((uintptr_t) conn_handle)); ble_npl_eventq_put(ble_hs_evq_get(), ev); + if (!ble_npl_event_is_queued(ev)) { + BLE_EATT_LOG_ERROR("eatt: eventq full, drop client supported feature read\n"); + ble_npl_event_deinit(ev); + nimble_platform_mem_free(ev); + } } } } @@ -548,6 +553,11 @@ ble_eatt_gap_event(struct ble_gap_event *event, void *arg) if (ev) { ble_npl_event_init(ev, ble_gatt_eatt_read_svr_uuid, (void *)((uintptr_t)(event->enc_change.conn_handle))); ble_npl_eventq_put(ble_hs_evq_get(), ev); + if (!ble_npl_event_is_queued(ev)) { + BLE_EATT_LOG_ERROR("eatt: eventq full, drop server supported feature read\n"); + ble_npl_event_deinit(ev); + nimble_platform_mem_free(ev); + } } break;