diff --git a/src/core/coap/coap_secure.cpp b/src/core/coap/coap_secure.cpp index 743518d31..c0a23642a 100644 --- a/src/core/coap/coap_secure.cpp +++ b/src/core/coap/coap_secure.cpp @@ -84,9 +84,11 @@ exit: void CoapSecure::Stop(void) { + ot::Message *message; + mDtls.Close(); - for (ot::Message *message = mTransmitQueue.GetHead(); message != nullptr; message = message->GetNext()) + while ((message = mTransmitQueue.GetHead()) != nullptr) { mTransmitQueue.Dequeue(*message); message->Free();