From 7e5e91176b770a68bdaf73a5c647f1fc0d7f2900 Mon Sep 17 00:00:00 2001 From: Peiwei Hu Date: Sat, 21 May 2022 15:27:04 +0800 Subject: [PATCH] Fix the defective check of EVP_PKEY_get_params Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/18367) --- crypto/evp/p_lib.c | 4 ++-- doc/man3/EVP_PKEY_gettable_params.pod | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c index a4ad904f77..46883255c6 100644 --- a/crypto/evp/p_lib.c +++ b/crypto/evp/p_lib.c @@ -2343,10 +2343,10 @@ int EVP_PKEY_get_params(const EVP_PKEY *pkey, OSSL_PARAM params[]) { if (pkey != NULL) { if (evp_pkey_is_provided(pkey)) - return evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params); + return evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params) > 0; #ifndef FIPS_MODULE else if (evp_pkey_is_legacy(pkey)) - return evp_pkey_get_params_to_ctrl(pkey, params); + return evp_pkey_get_params_to_ctrl(pkey, params) > 0; #endif } ERR_raise(ERR_LIB_EVP, EVP_R_INVALID_KEY); diff --git a/doc/man3/EVP_PKEY_gettable_params.pod b/doc/man3/EVP_PKEY_gettable_params.pod index d85ff52cbb..20bba142e5 100644 --- a/doc/man3/EVP_PKEY_gettable_params.pod +++ b/doc/man3/EVP_PKEY_gettable_params.pod @@ -79,7 +79,7 @@ These functions only work for Bs that contain a provider side key. =head1 RETURN VALUES -EVP_PKEY_gettable_params() returns NULL on error or if it is not supported, +EVP_PKEY_gettable_params() returns NULL on error or if it is not supported. All other methods return 1 if a value associated with the key's I was successfully returned, or 0 if there was an error. -- 2.34.1