Add entropy sanity check
authorDr. Stephen Henson <steve@openssl.org>
Sat, 5 Aug 2017 11:04:10 +0000 (12:04 +0100)
committerDr. Stephen Henson <steve@openssl.org>
Sat, 5 Aug 2017 11:04:10 +0000 (12:04 +0100)
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
(Merged from https://github.com/openssl/openssl/pull/4092)

crypto/rand/drbg_rand.c

index 06f8affeb8282a6c2c3821e02fd1d5d1bb5d2fa7..934679e315a565814c59ca2ba524767be0f1d883 100644 (file)
@@ -243,6 +243,9 @@ int ctr_instantiate(RAND_DRBG *drbg,
 {
     RAND_DRBG_CTR *ctr = &drbg->ctr;
 
+    if (ent == NULL)
+        return 0;
+
     memset(ctr->K, 0, sizeof(ctr->K));
     memset(ctr->V, 0, sizeof(ctr->V));
     AES_set_encrypt_key(ctr->K, drbg->strength, &ctr->ks);
@@ -254,6 +257,8 @@ int ctr_reseed(RAND_DRBG *drbg,
                const unsigned char *ent, size_t entlen,
                const unsigned char *adin, size_t adinlen)
 {
+    if (ent == NULL)
+        return 0;
     ctr_update(drbg, ent, entlen, adin, adinlen, NULL, 0);
     return 1;
 }