[openssl] OpenSSL_1_1_1-stable update
bernd.edlinger at hotmail.de
bernd.edlinger at hotmail.de
Thu Aug 26 07:01:22 UTC 2021
The branch OpenSSL_1_1_1-stable has been updated
via 5d91c74fa3fcd8c17184ab8f51745de8354f7362 (commit)
from 7a1a91556cc271d38944410b133a2ab5e2cf8ca8 (commit)
- Log -----------------------------------------------------------------
commit 5d91c74fa3fcd8c17184ab8f51745de8354f7362
Author: Bernd Edlinger <bernd.edlinger at hotmail.de>
Date: Mon Aug 23 11:13:26 2021 +0200
Check for null-pointer dereference in dh_cms_set_peerkey
Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16382)
-----------------------------------------------------------------------
Summary of changes:
crypto/dh/dh_ameth.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/crypto/dh/dh_ameth.c b/crypto/dh/dh_ameth.c
index d53004080d..0d4026c206 100644
--- a/crypto/dh/dh_ameth.c
+++ b/crypto/dh/dh_ameth.c
@@ -629,16 +629,18 @@ static int dh_cms_set_peerkey(EVP_PKEY_CTX *pctx,
goto err;
pk = EVP_PKEY_CTX_get0_pkey(pctx);
- if (!pk)
- goto err;
- if (pk->type != EVP_PKEY_DHX)
+ if (pk == NULL || pk->type != EVP_PKEY_DHX)
goto err;
+
/* Get parameters from parent key */
dhpeer = DHparams_dup(pk->pkey.dh);
+ if (dhpeer == NULL)
+ goto err;
+
/* We have parameters now set public key */
plen = ASN1_STRING_length(pubkey);
p = ASN1_STRING_get0_data(pubkey);
- if (!p || !plen)
+ if (p == NULL || plen == 0)
goto err;
if ((public_key = d2i_ASN1_INTEGER(NULL, &p, plen)) == NULL) {
@@ -655,6 +657,7 @@ static int dh_cms_set_peerkey(EVP_PKEY_CTX *pctx,
pkpeer = EVP_PKEY_new();
if (pkpeer == NULL)
goto err;
+
EVP_PKEY_assign(pkpeer, pk->ameth->pkey_id, dhpeer);
dhpeer = NULL;
if (EVP_PKEY_derive_set_peer(pctx, pkpeer) > 0)
More information about the openssl-commits
mailing list