aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2020-08-29 20:48:51 +0200
committerRichard Levitte <levitte@openssl.org>2020-09-03 17:48:32 +0200
commit4feda976de1291d9e0d2bbb4d87b39b89dfe6dcd (patch)
tree8045546c85586e5169962db9cffb7224bed96a44
parent88c1d0c1daa93571570cdaac04bb9e3dae8b971f (diff)
downloadopenssl-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.c4
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) {