diff --git a/ssl/quic/quic_impl.c b/ssl/quic/quic_impl.c index e3e56b0e3f..1cb44983b2 100644 --- a/ssl/quic/quic_impl.c +++ b/ssl/quic/quic_impl.c @@ -524,6 +524,9 @@ err: QUIC_NEEDS_LOCK static void qc_cleanup(QUIC_CONNECTION *qc, int have_lock) { + SSL_free(qc->tls); + qc->tls = NULL; + ossl_quic_channel_free(qc->ch); qc->ch = NULL; @@ -543,9 +546,6 @@ static void qc_cleanup(QUIC_CONNECTION *qc, int have_lock) ossl_quic_engine_free(qc->engine); qc->engine = NULL; - SSL_free(qc->tls); - qc->tls = NULL; - if (have_lock) /* tsan doesn't like freeing locked mutexes */ ossl_crypto_mutex_unlock(qc->mutex);