From dfce0d7418d6d5b54d74fa80fc50392f00270c53 Mon Sep 17 00:00:00 2001 From: Frederik Wedel-Heinen Date: Sun, 5 Jan 2025 20:42:51 +0100 Subject: Return NULL from ossl_lib_ctx_get_concrete() when it is uninitialized When default_context_inited is set to false we return NULL instead of the global default context. Fixes #25442 Reviewed-by: Tom Cosgrove Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/26319) --- crypto/rand/rand_lib.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'crypto/rand/rand_lib.c') diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index ad66cd7791..a15614faa5 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -818,6 +818,9 @@ EVP_RAND_CTX *RAND_get0_public(OSSL_LIB_CTX *ctx) return NULL; ctx = ossl_lib_ctx_get_concrete(ctx); + + if (ctx == NULL) + return NULL; /* * If the private is also NULL then this is the first time we've * used this thread. @@ -851,6 +854,9 @@ EVP_RAND_CTX *RAND_get0_private(OSSL_LIB_CTX *ctx) return NULL; ctx = ossl_lib_ctx_get_concrete(ctx); + + if (ctx == NULL) + return NULL; /* * If the public is also NULL then this is the first time we've * used this thread. -- cgit v1.2.3