You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
767 B
24 lines
767 B
diff -up openssl-1.0.2k/crypto/dh/dh_key.c.large-dh openssl-1.0.2k/crypto/dh/dh_key.c |
|
--- openssl-1.0.2k/crypto/dh/dh_key.c.large-dh 2018-06-18 13:46:24.268137362 +0200 |
|
+++ openssl-1.0.2k/crypto/dh/dh_key.c 2018-06-18 13:59:04.605497462 +0200 |
|
@@ -133,7 +133,7 @@ static int generate_key(DH *dh) |
|
int ok = 0; |
|
int generate_new_key = 0; |
|
unsigned l; |
|
- BN_CTX *ctx; |
|
+ BN_CTX *ctx = NULL; |
|
BN_MONT_CTX *mont = NULL; |
|
BIGNUM *pub_key = NULL, *priv_key = NULL; |
|
|
|
@@ -145,6 +145,11 @@ static int generate_key(DH *dh) |
|
} |
|
#endif |
|
|
|
+ if (BN_num_bits(dh->p) > OPENSSL_DH_MAX_MODULUS_BITS) { |
|
+ DHerr(DH_F_GENERATE_KEY, DH_R_MODULUS_TOO_LARGE); |
|
+ return 0; |
|
+ } |
|
+ |
|
ctx = BN_CTX_new(); |
|
if (ctx == NULL) |
|
goto err;
|
|
|