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