mirror of
https://github.com/openssl/openssl.git
synced 2025-01-06 13:26:43 +08:00
Free the QUIC TLS object before freeing the channel
Freeing the QUIC TLS object may make calls back into QUIC so we should free it first. Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/23256)
This commit is contained in:
parent
fa4b1151c8
commit
f7f2b665cf
@ -544,6 +544,8 @@ void ossl_quic_free(SSL *s)
|
||||
}
|
||||
#endif
|
||||
|
||||
SSL_free(ctx.qc->tls);
|
||||
|
||||
ossl_quic_channel_free(ctx.qc->ch);
|
||||
ossl_quic_port_free(ctx.qc->port);
|
||||
ossl_quic_engine_free(ctx.qc->engine);
|
||||
@ -551,13 +553,15 @@ void ossl_quic_free(SSL *s)
|
||||
BIO_free_all(ctx.qc->net_rbio);
|
||||
BIO_free_all(ctx.qc->net_wbio);
|
||||
|
||||
/* Note: SSL_free calls OPENSSL_free(qc) for us */
|
||||
|
||||
SSL_free(ctx.qc->tls);
|
||||
quic_unlock(ctx.qc); /* tsan doesn't like freeing locked mutexes */
|
||||
#if defined(OPENSSL_THREADS)
|
||||
ossl_crypto_mutex_free(&ctx.qc->mutex);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Note: SSL_free (that called this function) calls OPENSSL_free(ctx.qc) for
|
||||
* us
|
||||
*/
|
||||
}
|
||||
|
||||
/* SSL method init */
|
||||
|
Loading…
Reference in New Issue
Block a user