evp: fix coverity 1467500 & 1467502: unchecked return values

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14615)
This commit is contained in:
Pauli 2021-03-19 09:40:05 +10:00 committed by Pauli
parent 8cdcb63fc0
commit 40d6e05cf8

View File

@ -57,11 +57,13 @@ RSA *EVP_PKEY_get1_RSA(EVP_PKEY *pkey)
#ifndef OPENSSL_NO_EC #ifndef OPENSSL_NO_EC
int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, EC_KEY *key) int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, EC_KEY *key)
{ {
int ret = EVP_PKEY_assign_EC_KEY(pkey, key); if (!EC_KEY_up_ref(key))
return 0;
if (ret) if (!EVP_PKEY_assign_EC_KEY(pkey, key)) {
EC_KEY_up_ref(key); EC_KEY_free(key);
return ret; return 0;
}
return 1;
} }
EC_KEY *evp_pkey_get0_EC_KEY_int(const EVP_PKEY *pkey) EC_KEY *evp_pkey_get0_EC_KEY_int(const EVP_PKEY *pkey)
@ -82,8 +84,8 @@ EC_KEY *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey)
{ {
EC_KEY *ret = evp_pkey_get0_EC_KEY_int(pkey); EC_KEY *ret = evp_pkey_get0_EC_KEY_int(pkey);
if (ret != NULL) if (ret != NULL && !EC_KEY_up_ref(ret))
EC_KEY_up_ref(ret); ret = NULL;
return ret; return ret;
} }
#endif /* OPENSSL_NO_EC */ #endif /* OPENSSL_NO_EC */