]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
test/evp_test: Test if EVP_DigestSign() set signature's length.
authorSebastian Andrzej Siewior <sebastian@breakpoint.cc>
Mon, 1 Aug 2022 20:08:27 +0000 (22:08 +0200)
committerTodd Short <todd.short@me.com>
Thu, 4 Aug 2022 13:14:20 +0000 (09:14 -0400)
Increase the signature's length, that is passed to EVP_DigestSign(). The
implementation should set this parameter back to the actual length, that
has been written.

This (oneshot_digestsign_test_run()) fails for the ed25519/ ed448
implementation of s390 prio the fix. The change in digestsign_test_run()
follows the same pattern and is for collecting bonus points.

Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/18928)

test/evp_test.c

index 4a532bee76269f723c496595160bb07ffd03a16a..403efb3e25cf2a8b15967581c8e7d338e2a2310e 100644 (file)
@@ -3335,6 +3335,7 @@ static int digestsign_test_run(EVP_TEST *t)
         t->err = "MALLOC_FAILURE";
         goto err;
     }
+    got_len *= 2;
     if (!EVP_DigestSignFinal(expected->ctx, got, &got_len)) {
         t->err = "DIGESTSIGNFINAL_ERROR";
         goto err;
@@ -3412,6 +3413,7 @@ static int oneshot_digestsign_test_run(EVP_TEST *t)
         t->err = "MALLOC_FAILURE";
         goto err;
     }
+    got_len *= 2;
     if (!EVP_DigestSign(expected->ctx, got, &got_len,
                         expected->osin, expected->osin_len)) {
         t->err = "DIGESTSIGN_ERROR";