Fix drbg_ossl_ctx_free() and drbg_nonce_ossl_ctx_free() to handle NULL
If these were passed NULL, the crashed with a SIGSEGV, when they should do like all other freeing functions and become a no-op. Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9650)
This commit is contained in:
parent
c1d56231ef
commit
85d09e8848
1 changed files with 6 additions and 0 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue