summaryrefslogtreecommitdiffstats
path: root/test/evp_test.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2020-02-18 15:35:24 +0100
committerRichard Levitte <levitte@openssl.org>2020-03-12 10:44:02 +0100
commit88af1ebb04bf9db0da9bb3949b407dc46e5d6644 (patch)
treea7b203fb89d39c7c0fa0c6f06231e1aa439e6f2d /test/evp_test.c
parent2972af109e10c5ce30e548190e3eee28327d6043 (diff)
test/evp_test.c: fix keygen_test_run()
There was a misunderstanding what it should return. It should return 0 on internal error, but 1 even if the thing it tests fails (the error is determined by |t->err|). Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/10289)
Diffstat (limited to 'test/evp_test.c')
-rw-r--r--test/evp_test.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/test/evp_test.c b/test/evp_test.c
index 63ae144920..0f2720807a 100644
--- a/test/evp_test.c
+++ b/test/evp_test.c
@@ -2504,8 +2504,8 @@ static int keygen_test_run(EVP_TEST *t)
{
KEYGEN_TEST_DATA *keygen = t->data;
EVP_PKEY *pkey = NULL;
+ int rv = 1;
- t->err = NULL;
if (EVP_PKEY_keygen(keygen->genctx, &pkey) <= 0) {
t->err = "KEYGEN_GENERATE_ERROR";
goto err;
@@ -2514,6 +2514,7 @@ static int keygen_test_run(EVP_TEST *t)
if (keygen->keyname != NULL) {
KEY_LIST *key;
+ rv = 0;
if (find_key(NULL, keygen->keyname, private_keys)) {
TEST_info("Duplicate key %s", keygen->keyname);
goto err;
@@ -2526,15 +2527,15 @@ static int keygen_test_run(EVP_TEST *t)
key->key = pkey;
key->next = private_keys;
private_keys = key;
+ rv = 1;
} else {
EVP_PKEY_free(pkey);
}
- return 1;
+ t->err = NULL;
err:
- EVP_PKEY_free(pkey);
- return 0;
+ return rv;
}
static const EVP_TEST_METHOD keygen_test_method = {