From d1768e8298a35fcd8e6e19575e4a9b2e93e4d788 Mon Sep 17 00:00:00 2001 From: "Dr. Matthias St. Pierre" Date: Mon, 13 Jul 2020 02:02:15 +0200 Subject: [PATCH] test/drbgtest.c: set the correct counter to trigger reseeding It's the generate counter (drbg->reseed_gen_counter), not the reseed counter which needs to be raised above the reseed_interval. This mix-up was partially caused by some recent renamings of DRBG members variables, but that will be dealt with in a separate commit. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/11195) --- test/drbgtest.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/test/drbgtest.c b/test/drbgtest.c index 058b0a4050b..3107ccaaf4e 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -190,6 +190,13 @@ static PROV_DRBG *prov_rand(RAND_DRBG *drbg) return (PROV_DRBG *)drbg->rand->data; } +static void set_generate_counter(RAND_DRBG *drbg, unsigned int n) +{ + PROV_DRBG *p = prov_rand(drbg); + + p->reseed_gen_counter = n; +} + static void set_reseed_counter(RAND_DRBG *drbg, unsigned int n) { PROV_DRBG *p = prov_rand(drbg); @@ -509,7 +516,7 @@ static int error_check(DRBG_SELFTEST_DATA *td) if (!instantiate(drbg, td, &t)) goto err; reseed_counter_tmp = reseed_counter(drbg); - set_reseed_counter(drbg, reseed_requests(drbg)); + set_generate_counter(drbg, reseed_requests(drbg)); /* Generate output and check entropy has been requested for reseed */ t.entropycnt = 0; @@ -534,7 +541,7 @@ static int error_check(DRBG_SELFTEST_DATA *td) if (!instantiate(drbg, td, &t)) goto err; reseed_counter_tmp = reseed_counter(drbg); - set_reseed_counter(drbg, reseed_requests(drbg)); + set_generate_counter(drbg, reseed_requests(drbg)); /* Generate output and check entropy has been requested for reseed */ t.entropycnt = 0; -- 2.47.2