diff --git a/library/ssl_tls.c b/library/ssl_tls.c index 20a2538290..1656f83336 100644 --- a/library/ssl_tls.c +++ b/library/ssl_tls.c @@ -4467,10 +4467,13 @@ void mbedtls_ssl_handshake_free(mbedtls_ssl_context *ssl) #endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) - if (ssl->conf->f_async_cancel != NULL && handshake->async_in_progress != 0) { + if (ssl->conf != NULL) { + if (ssl->conf->f_async_cancel != NULL) { + if(handshake->async_in_progress != 0) { ssl->conf->f_async_cancel(ssl); handshake->async_in_progress = 0; - } + }}} + #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ #if defined(PSA_WANT_ALG_SHA_256)