diff options
author | Richard Levitte <levitte@openssl.org> | 2020-08-29 20:48:51 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2020-09-03 17:48:32 +0200 |
commit | 4feda976de1291d9e0d2bbb4d87b39b89dfe6dcd (patch) | |
tree | 8045546c85586e5169962db9cffb7224bed96a44 | |
parent | 88c1d0c1daa93571570cdaac04bb9e3dae8b971f (diff) | |
download | openssl-4feda976de1291d9e0d2bbb4d87b39b89dfe6dcd.zip openssl-4feda976de1291d9e0d2bbb4d87b39b89dfe6dcd.tar.gz openssl-4feda976de1291d9e0d2bbb4d87b39b89dfe6dcd.tar.bz2 |
EVP: Don't report malloc failure in new_raw_key_int()
On failure by EVP_PKEY_CTX_new_from_name(), this function reported
ERR_R_MALLOC_FAILURE. However, that's not necessarily true, as it can
fail because the algorithm isn't present.
Either way, EVP_PKEY_CTX_new_from_name() records more accurate errors
on its own, and one of them - EVP_R_FETCH_FAILED - is significant for
test/evp_test.c.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12587)
-rw-r--r-- | crypto/evp/p_lib.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c index 16c674d..fd2a6c5 100644 --- a/crypto/evp/p_lib.c +++ b/crypto/evp/p_lib.c @@ -381,10 +381,8 @@ static EVP_PKEY *new_raw_key_int(OPENSSL_CTX *libctx, strtype != NULL ? strtype : OBJ_nid2sn(nidtype), propq); - if (ctx == NULL) { - EVPerr(0, ERR_R_MALLOC_FAILURE); + if (ctx == NULL) goto err; - } /* May fail if no provider available */ ERR_set_mark(); if (EVP_PKEY_key_fromdata_init(ctx) == 1) { |