Check reseed interval before generating output.
authorDr. Stephen Henson <steve@openssl.org>
Mon, 5 Sep 2011 15:45:13 +0000 (15:45 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Mon, 5 Sep 2011 15:45:13 +0000 (15:45 +0000)
fips/rand/fips_drbg_lib.c

index f5f365b01e327ace8d5feb311399f49a1109dcf7..a0bb9eda64d53e949a8ff88f82543414108c1b91 100644 (file)
@@ -373,6 +373,9 @@ int FIPS_drbg_generate(DRBG_CTX *dctx, unsigned char *out, size_t outlen,
                goto end;
                }
 
+       if (dctx->reseed_counter >= dctx->reseed_interval)
+               dctx->status = DRBG_STATUS_RESEED;
+
        if (dctx->status == DRBG_STATUS_RESEED || prediction_resistance)
                {
                if (!FIPS_drbg_reseed(dctx, adin, adinlen))