From: Bernd Edlinger Date: Fri, 6 Sep 2019 22:58:31 +0000 (+0200) Subject: DH_check_pub_key_ex was accidentally calling DH_check, X-Git-Tag: openssl-3.0.0-alpha1~1424 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fopenssl.git;a=commitdiff_plain;h=2b95e8efcf8b99892106070d9ac745a0a369f503;hp=fa01370f7dc8f0a379483bbe74de11225857e5fe DH_check_pub_key_ex was accidentally calling DH_check, so results were undefined. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9796) --- diff --git a/crypto/dh/dh_check.c b/crypto/dh/dh_check.c index 373110d263..2d19a8f120 100644 --- a/crypto/dh/dh_check.c +++ b/crypto/dh/dh_check.c @@ -176,7 +176,8 @@ int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key) { int errflags = 0; - (void)DH_check(dh, &errflags); + if (!DH_check_pub_key(dh, pub_key, &errflags)) + return 0; if ((errflags & DH_CHECK_PUBKEY_TOO_SMALL) != 0) DHerr(DH_F_DH_CHECK_PUB_KEY_EX, DH_R_CHECK_PUBKEY_TOO_SMALL);