From 03b8486c0c273ec7061b891975728a3724c80b8b Mon Sep 17 00:00:00 2001 From: schneider <schneider@blinkenlichts.net> Date: Sat, 30 Jan 2021 19:15:35 +0100 Subject: [PATCH] fix(mp-ble): Only process relevant ATT messages --- epicardium/ble/epic_att_api.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/epicardium/ble/epic_att_api.c b/epicardium/ble/epic_att_api.c index 62f51847a..74faa187d 100644 --- a/epicardium/ble/epic_att_api.c +++ b/epicardium/ble/epic_att_api.c @@ -25,13 +25,16 @@ static int next_handle = ATTS_DYN_START_HANDLE; void ble_epic_att_api_event(attEvt_t *att_event) { - attEvt_t *e = WsfBufAlloc(sizeof(*e)); + if (att_event->handle >= ATTS_DYN_START_HANDLE && + att_event->handle < next_handle) { + attEvt_t *e = WsfBufAlloc(sizeof(*e)); - if (e) { - memcpy(e, att_event, sizeof(*e)); - ble_epic_ble_api_trigger_event(BLE_EVENT_ATT_EVENT, e); - } else { - LOG_WARN("ble", "could not allocate att event"); + if (e) { + memcpy(e, att_event, sizeof(*e)); + ble_epic_ble_api_trigger_event(BLE_EVENT_ATT_EVENT, e); + } else { + LOG_WARN("ble", "could not allocate att event"); + } } } -- GitLab