drbg_bytes: remove check for DRBG_UNINITIALIZED state
authorDr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Sat, 3 Feb 2018 20:13:19 +0000 (21:13 +0100)
committerDr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Mon, 5 Feb 2018 19:05:14 +0000 (20:05 +0100)
This check not only prevented the automatic reinstantiation of the
DRBG, which is implemented in RAND_DRBG_generate(), but also prevented
an error message from being generated in the case of failure.

Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
(Merged from https://github.com/openssl/openssl/pull/5251)

crypto/rand/drbg_lib.c

index cb2f9e8d924a21e9492372d3ca9c17d79195eb1b..974e3bbd11f6108f21cc53970bef00d850de5ea7 100644 (file)
@@ -772,9 +772,6 @@ static int drbg_bytes(unsigned char *out, int count)
         return 0;
 
     CRYPTO_THREAD_write_lock(drbg->lock);
-    if (drbg->state == DRBG_UNINITIALISED)
-        goto err;
-
     for ( ; count > 0; count -= chunk, out += chunk) {
         chunk = count;
         if (chunk > drbg->max_request)