diff options
author | Richard Levitte <levitte@openssl.org> | 2020-02-18 15:35:24 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2020-03-12 10:44:02 +0100 |
commit | 88af1ebb04bf9db0da9bb3949b407dc46e5d6644 (patch) | |
tree | a7b203fb89d39c7c0fa0c6f06231e1aa439e6f2d /test | |
parent | 2972af109e10c5ce30e548190e3eee28327d6043 (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')
-rw-r--r-- | test/evp_test.c | 9 |
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 = { |