diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index 825e90d48e..f8b58d7245 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -191,6 +191,9 @@ static void drbg_ossl_ctx_free(void *vdgbl) { DRBG_GLOBAL *dgbl = vdgbl; + if (dgbl == NULL) + return; + RAND_DRBG_free(dgbl->master_drbg); CRYPTO_THREAD_cleanup_local(&dgbl->private_drbg); CRYPTO_THREAD_cleanup_local(&dgbl->public_drbg); @@ -230,6 +233,9 @@ static void drbg_nonce_ossl_ctx_free(void *vdngbl) { DRBG_NONCE_GLOBAL *dngbl = vdngbl; + if (dngbl == NULL) + return; + CRYPTO_THREAD_lock_free(dngbl->rand_nonce_lock); OPENSSL_free(dngbl);