[openssl] OpenSSL_1_1_1-stable update

Dr. Paul Dale pauli at openssl.org
Sat Mar 20 00:26:28 UTC 2021


The branch OpenSSL_1_1_1-stable has been updated
       via  b402f00ee26157ad4e7e6e52f3a736743e3de46f (commit)
      from  f9398cc2b31858ddaaea3f5cfec2fce7f9b90347 (commit)


- Log -----------------------------------------------------------------
commit b402f00ee26157ad4e7e6e52f3a736743e3de46f
Author: Matt Caswell <matt at openssl.org>
Date:   Thu Mar 18 10:22:51 2021 +0000

    Add a missing RUN_ONCE in rand_lib.c
    
    Some of the callbacks in rand_lib.c were being invoked without the
    RUN_ONCE for that file being called. We add it during rand_pool_new
    which should cover all cases.
    
    Fixes #7870
    Fixes #11144
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    Reviewed-by: Paul Dale <pauli at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/14603)

-----------------------------------------------------------------------

Summary of changes:
 crypto/rand/rand_lib.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c
index ba3a29e584..46e83d0741 100644
--- a/crypto/rand/rand_lib.c
+++ b/crypto/rand/rand_lib.c
@@ -432,9 +432,13 @@ err:
 RAND_POOL *rand_pool_new(int entropy_requested, int secure,
                          size_t min_len, size_t max_len)
 {
-    RAND_POOL *pool = OPENSSL_zalloc(sizeof(*pool));
+    RAND_POOL *pool;
     size_t min_alloc_size = RAND_POOL_MIN_ALLOCATION(secure);
 
+    if (!RUN_ONCE(&rand_init, do_rand_init))
+        return NULL;
+
+    pool = OPENSSL_zalloc(sizeof(*pool));
     if (pool == NULL) {
         RANDerr(RAND_F_RAND_POOL_NEW, ERR_R_MALLOC_FAILURE);
         return NULL;


More information about the openssl-commits mailing list