summaryrefslogtreecommitdiffstats
path: root/apps/speed.c
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2020-09-25 13:50:25 +1000
committerShane Lontis <shane.lontis@oracle.com>2020-09-26 18:17:31 +1000
commit4f5b222b84432a11c44d8c9a11c7fa98351db79b (patch)
treea1cbafb780dcddd2c26ad7e43103dbe7a8e771d9 /apps/speed.c
parent3786d74868fe440250f902ce1a78974136ca9304 (diff)
Fix bug in EDDSA speed test
The pkey created in one loop was being fed into the keygen of the next loop - since it was not set to NULL after the free. This meant that the 2 EVP_MD_CTX objects that still had ref counts to this key were getting confused. All other tests clear the key after freeing the key if they loop (some do this by declaring/initing the pkey inside the loop). The offending code is a recent addition to the speed app. This was found using the -async_jobs option. Similar code was tried for an RSA key using 111 which resulted in the same issue. Found while trying to test issue #128867 (It is not known if this will fix that issue yet). Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12975)
Diffstat (limited to 'apps/speed.c')
-rw-r--r--apps/speed.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/apps/speed.c b/apps/speed.c
index 017c5a280a..46187010d5 100644
--- a/apps/speed.c
+++ b/apps/speed.c
@@ -3426,6 +3426,7 @@ int speed_main(int argc, char **argv)
}
EVP_PKEY_free(ed_pkey);
+ ed_pkey = NULL;
}
if (st == 0) {
BIO_printf(bio_err, "EdDSA failure.\n");