From fb60a5a9d0da982df0edeac8287aa5ee55f4e79a Mon Sep 17 00:00:00 2001 From: Selva Nair Date: Wed, 26 Jan 2022 19:14:10 -0500 Subject: [PATCH] pkcs11_openssl.c: check EVP_get_digestbyname() != NULL Reported-by: Arne Schwabe Signed-off-by: Selva Nair Acked-by: Antonio Quartulli Message-Id: <20220127001410.7587-1-selva.nair@gmail.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg23680.html Signed-off-by: Gert Doering --- src/openvpn/pkcs11_openssl.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/openvpn/pkcs11_openssl.c b/src/openvpn/pkcs11_openssl.c index a82b4b32b..c4f888162 100644 --- a/src/openvpn/pkcs11_openssl.c +++ b/src/openvpn/pkcs11_openssl.c @@ -89,7 +89,14 @@ set_pss_params(CK_RSA_PKCS_PSS_PARAMS *pss_params, XKEY_SIGALG sigalg, pss_params->mgf = mdtypes[i].mgf_id; /* determine salt length */ - int mdsize = EVP_MD_size(EVP_get_digestbyname(sigalg.mdname)); + const EVP_MD *md = EVP_get_digestbyname(sigalg.mdname); + if (!md) + { + msg(M_WARN, "WARN: set_pss_params: EVP_get_digestbyname returned NULL " + "for mdname = <%s>", sigalg.mdname); + goto cleanup; + } + int mdsize = EVP_MD_get_size(md); int saltlen = -1; if (!strcmp(sigalg.saltlen, "digest")) /* same as digest size */ -- 2.47.2