]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
test/drbgtest.c: set the correct counter to trigger reseeding
authorDr. Matthias St. Pierre <matthias.st.pierre@ncp-e.com>
Mon, 13 Jul 2020 00:02:15 +0000 (02:02 +0200)
committerDr. Matthias St. Pierre <matthias.st.pierre@ncp-e.com>
Wed, 22 Jul 2020 23:12:48 +0000 (01:12 +0200)
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 <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/11195)

test/drbgtest.c

index 058b0a4050b10f1741677a3e2d55a44a71aec6f3..3107ccaaf4e09a0c1fdbf5987d1c236711424ee2 100644 (file)
@@ -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;