]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
test/drbgtest.c: Remove error check for large generate requests
authorDr. Matthias St. Pierre <matthias.st.pierre@ncp-e.com>
Sat, 4 Jul 2020 10:29:14 +0000 (12:29 +0200)
committerDr. Matthias St. Pierre <matthias.st.pierre@ncp-e.com>
Wed, 22 Jul 2020 23:12:48 +0000 (01:12 +0200)
The behaviour of RAND_DRBG_generate() has changed. Previously, it
would fail for requests larger than max_request, now it automatically
splits large input into chunks (which was previously done only
by RAND_DRBG_bytes() before calling RAND_DRBG_generate()).

So this test has not only become obsolete, the fact that it succeeded
unexpectedly also caused a buffer overflow that terminated the test.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/11195)

test/drbgtest.c

index 118677c2edb095c3d75a4c405dd8fc62365d8ad9..058b0a4050b10f1741677a3e2d55a44a71aec6f3 100644 (file)
@@ -176,7 +176,6 @@ DRBG_SIZE_T(min_noncelen)
 DRBG_SIZE_T(max_noncelen)
 DRBG_SIZE_T(max_perslen)
 DRBG_SIZE_T(max_adinlen)
-DRBG_SIZE_T(max_request)
 
 #define DRBG_UINT(name)                                 \
     static unsigned int name(RAND_DRBG *drbg)           \
@@ -491,11 +490,6 @@ static int error_check(DRBG_SELFTEST_DATA *td)
                                              td->adin, td->adinlen)))
         goto err;
 
-    /* Request too much data for one request */
-    if (!TEST_false(RAND_DRBG_generate(drbg, buff, max_request(drbg) + 1, 0,
-                                       td->adin, td->adinlen)))
-        goto err;
-
     /* Try too large additional input */
     if (!TEST_false(RAND_DRBG_generate(drbg, buff, td->exlen, 0,
                                        td->adin, max_adinlen(drbg) + 1)))