Fix a dead lock of async engine.
Emeric Brun <[email protected]>
| Newsgroups | gmane.comp.encryption.openssl.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi All, This bug also affects the 1.1.0 R, Emeric -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
0001-Fix-async-engine-dead-lock-in-error-case-in-ossl_ran.patch
(text/x-patch, 760 B)
From b64e57b30d8d619c0326da4a5be3b62528d9ff6c Mon Sep 17 00:00:00 2001 From: Emeric Brun <[email protected]> Date: Wed, 26 Jul 2017 15:12:46 +0200 Subject: [PATCH] Fix async engine dead lock in error case in ossl_rand.c --- crypto/rand/ossl_rand.c | 1 + 1 file changed, 1 insertion(+) diff --git a/crypto/rand/ossl_rand.c b/crypto/rand/ossl_rand.c index 1b4b21b..119c2b4 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; } -- 2.7.4