DRBG: fix memory leak on error in rand_drbg_get_entropy()

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5918)
This commit is contained in:
Dr. Matthias St. Pierre 2018-04-08 12:09:10 +02:00
parent 55bd917bc4
commit 63a65d16ac

View File

@ -229,7 +229,7 @@ size_t rand_drbg_get_entropy(RAND_DRBG *drbg,
*/ */
RANDerr(RAND_F_RAND_DRBG_GET_ENTROPY, RANDerr(RAND_F_RAND_DRBG_GET_ENTROPY,
RAND_R_PREDICTION_RESISTANCE_NOT_SUPPORTED); RAND_R_PREDICTION_RESISTANCE_NOT_SUPPORTED);
return 0; goto err;
} }
/* Get entropy by polling system entropy sources. */ /* Get entropy by polling system entropy sources. */
@ -241,6 +241,7 @@ size_t rand_drbg_get_entropy(RAND_DRBG *drbg,
*pout = rand_pool_detach(pool); *pout = rand_pool_detach(pool);
} }
err:
rand_pool_free(pool); rand_pool_free(pool);
return ret; return ret;
} }