From: Matt Caswell Date: Thu, 18 Jan 2024 12:16:55 +0000 (+0000) Subject: Free the tserver TLS object before freeing the channel X-Git-Tag: openssl-3.3.0-alpha1~251 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fa4b1151c829b8be1d83cb49c9809d3a4f59fb03;p=thirdparty%2Fopenssl.git Free the tserver TLS object before freeing the channel The TLS object may make callbacks into QUIC during cleanup so we must free it first. Reviewed-by: Hugo Landau Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/23256) --- diff --git a/ssl/quic/quic_tserver.c b/ssl/quic/quic_tserver.c index 159669ef8f8..831d0463bdd 100644 --- a/ssl/quic/quic_tserver.c +++ b/ssl/quic/quic_tserver.c @@ -173,13 +173,13 @@ void ossl_quic_tserver_free(QUIC_TSERVER *srv) if (srv == NULL) return; + SSL_free(srv->tls); ossl_quic_channel_free(srv->ch); ossl_quic_port_free(srv->port); ossl_quic_engine_free(srv->engine); BIO_free_all(srv->args.net_rbio); BIO_free_all(srv->args.net_wbio); OPENSSL_free(srv->ssl); - SSL_free(srv->tls); SSL_CTX_free(srv->ctx); #if defined(OPENSSL_THREADS) ossl_crypto_mutex_free(&srv->mutex);