From: Bernd Edlinger Date: Sat, 28 Apr 2018 17:09:55 +0000 (+0200) Subject: Don't cleanup uninitialized thread local slots X-Git-Tag: OpenSSL_1_1_1-pre6~5 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=bf7ae7500073f85fed8a82c4f8ec981d44a8c3d6;p=oweals%2Fopenssl.git Don't cleanup uninitialized thread local slots Fixes: #6120 Reviewed-by: Kurt Roeckx (Merged from https://github.com/openssl/openssl/pull/6123) --- diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index c6397b22c6..60ddd2fe20 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -912,11 +912,13 @@ err1: /* Clean up the global DRBGs before exit */ void rand_drbg_cleanup_int(void) { - RAND_DRBG_free(master_drbg); - master_drbg = NULL; + if (master_drbg != NULL) { + RAND_DRBG_free(master_drbg); + master_drbg = NULL; - CRYPTO_THREAD_cleanup_local(&private_drbg); - CRYPTO_THREAD_cleanup_local(&public_drbg); + CRYPTO_THREAD_cleanup_local(&private_drbg); + CRYPTO_THREAD_cleanup_local(&public_drbg); + } } void drbg_delete_thread_state()