From 17c3feeb0837b6583ed698c6d2430c8d19705dba Mon Sep 17 00:00:00 2001 From: Jon Shallow Date: Thu, 12 Jun 2025 13:31:19 +0100 Subject: [PATCH] coap_session_mfree: Check for lg_crcv all cleared out if failure Call to coap_cancel_observe_lkd() may cause session->lg_crcv to be cleared out if transmission failure. --- src/coap_session.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/coap_session.c b/src/coap_session.c index 180e9515..e60271ca 100644 --- a/src/coap_session.c +++ b/src/coap_session.c @@ -543,6 +543,9 @@ coap_session_mfree(coap_session_t *session) { } } } + /* In case coap_cancel_observe_lkd() failure, which could clear down lg_crcv */ + if (!session->lg_crcv) + break; LL_DELETE(session->lg_crcv, lg_crcv); coap_block_delete_lg_crcv(session, lg_crcv); }