From 12f22a16f7d875063a068dbbd6efbb9c7b7dd3c7 Mon Sep 17 00:00:00 2001 From: Jon Shallow Date: Thu, 4 Dec 2025 18:32:23 +0000 Subject: [PATCH] coap_openssl.c: Fix DTLS timeout checking --- src/coap_openssl.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/coap_openssl.c b/src/coap_openssl.c index d19fda68..14777d4b 100644 --- a/src/coap_openssl.c +++ b/src/coap_openssl.c @@ -3739,14 +3739,16 @@ int coap_dtls_handle_timeout(coap_session_t *session) { SSL *ssl = (SSL *)session->tls; - assert(ssl != NULL && session->state == COAP_SESSION_STATE_HANDSHAKE); - if ((++session->dtls_timeout_count > session->max_retransmit) || - (DTLSv1_handle_timeout(ssl) < 0)) { - /* Too many retries */ - coap_session_disconnected_lkd(session, COAP_NACK_TLS_FAILED); - return 1; + if (ssl != NULL && session->state == COAP_SESSION_STATE_HANDSHAKE) { + if ((++session->dtls_timeout_count > session->max_retransmit) || + (DTLSv1_handle_timeout(ssl) < 0)) { + /* Too many retries */ + coap_session_disconnected_lkd(session, COAP_NACK_TLS_FAILED); + return 1; + } + return 0; } - return 0; + return 1; } #if COAP_SERVER_SUPPORT