]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
pkcs11_openssl.c: check EVP_get_digestbyname() != NULL
authorSelva Nair <selva.nair@gmail.com>
Thu, 27 Jan 2022 00:14:10 +0000 (19:14 -0500)
committerGert Doering <gert@greenie.muc.de>
Thu, 3 Feb 2022 10:29:50 +0000 (11:29 +0100)
Reported-by: Arne Schwabe <arne@rfc2549.org>
Signed-off-by: Selva Nair <selva.nair@gmail.com>
Acked-by: Antonio Quartulli <antonio@openvpn.net>
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 <gert@greenie.muc.de>
src/openvpn/pkcs11_openssl.c

index a82b4b32bf5b088b7520723fe557cdef6fcb3fb8..c4f888162006dcc720bef0ab124d653b21da5fe1 100644 (file)
@@ -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 */