diff options
author | Tomas Mraz <tomas@openssl.org> | 2022-10-11 17:26:23 +0200 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2022-11-10 09:34:35 +0100 |
commit | d0f8056c47f7aea40a34815fe459404f14501e81 (patch) | |
tree | 2be3a1807d07fa4ef00ead7bbcd878f6d41cb5b1 /crypto/rand | |
parent | aa97297427fe60e89bbd11cc2f8a181dfc5ca89d (diff) |
Release the drbg in the global default context before engines
Fixes #17995
Fixes #18578
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/19390)
Diffstat (limited to 'crypto/rand')
-rw-r--r-- | crypto/rand/rand_lib.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index c453d32261..f341d915db 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -96,6 +96,7 @@ void ossl_rand_cleanup_int(void) CRYPTO_THREAD_lock_free(rand_meth_lock); rand_meth_lock = NULL; # endif + ossl_release_default_drbg_ctx(); rand_inited = 0; } @@ -469,7 +470,7 @@ static void *rand_ossl_ctx_new(OSSL_LIB_CTX *libctx) return NULL; } -static void rand_ossl_ctx_free(void *vdgbl) +void ossl_rand_ctx_free(void *vdgbl) { RAND_GLOBAL *dgbl = vdgbl; @@ -494,7 +495,7 @@ static void rand_ossl_ctx_free(void *vdgbl) static const OSSL_LIB_CTX_METHOD rand_drbg_ossl_ctx_method = { OSSL_LIB_CTX_METHOD_PRIORITY_2, rand_ossl_ctx_new, - rand_ossl_ctx_free, + ossl_rand_ctx_free, }; static RAND_GLOBAL *rand_get_global(OSSL_LIB_CTX *libctx) |