]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Add CRYPTO_FREE_REF to ossl_quic_free_token_store
authorNeil Horman <nhorman@openssl.org>
Wed, 13 Aug 2025 14:12:38 +0000 (10:12 -0400)
committerNeil Horman <nhorman@openssl.org>
Thu, 14 Aug 2025 15:29:00 +0000 (11:29 -0400)
ossl_quic_free_token_store doesn't call CRYPTO_FREE_REF on the
hdl->reference object, which could lead to memory leaks on platforms
that don't support atomics (where the call to CRYPTO_NEW_REF allocates a
mutex as part of its function.  It wasn't caught before because all the
platforms we do ci on support threads.

Fixes #28241

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28247)

(cherry picked from commit d2a71ed94e82f96a589fbc017d525d415b427337)

ssl/quic/quic_impl.c

index 5ad5a79157f427abc0b15f4d427efdac39c9fbc2..c44e6b33c2a8647dae28bd31b33a6cbbbece172b 100644 (file)
@@ -4769,6 +4769,7 @@ void ossl_quic_free_token_store(SSL_TOKEN_STORE *hdl)
     ossl_crypto_mutex_free(&hdl->mutex);
     lh_QUIC_TOKEN_doall(hdl->cache, free_this_token);
     lh_QUIC_TOKEN_free(hdl->cache);
+    CRYPTO_FREE_REF(&hdl->references);
     OPENSSL_free(hdl);
     return;
 }