diff --git a/crypto/rand/ossl_rand.c b/crypto/rand/ossl_rand.c index 1b4b21ba4a370973a3f28bc844e2e3ceef7e318a..119c2b423ac05a1ce1bb011d5869ad948113c3d5 100644 --- a/crypto/rand/ossl_rand.c +++ b/crypto/rand/ossl_rand.c @@ -485,6 +485,7 @@ static int rand_bytes(unsigned char *buf, int num) ASYNC_block_pause(); if (!EVP_DigestUpdate(m, sp->md, sizeof(sp->md)) || !EVP_DigestFinal_ex(m, sp->md, NULL)) { + ASYNC_unblock_pause(); CRYPTO_THREAD_unlock(rand_lock); goto err; }