diff options
author | Pauli <paul.dale@oracle.com> | 2018-09-03 07:37:38 +1000 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2018-09-03 10:41:07 +1000 |
commit | 6bcfcf16bf6aef4f9ec267d8b86ae1bffd8deab9 (patch) | |
tree | 7529d1f5c6b5a59eb184c13b9a410c0cf8a366e3 /crypto/bn | |
parent | a8d3dbe19b5c7e5b828792bfe7dcf8dc6d225c62 (diff) |
Check the return from BN_sub() in BN_X931_generate_Xpq().
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7088)
Diffstat (limited to 'crypto/bn')
-rw-r--r-- | crypto/bn/bn_x931p.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/bn/bn_x931p.c b/crypto/bn/bn_x931p.c index 2331b01943..a197cdc5f2 100644 --- a/crypto/bn/bn_x931p.c +++ b/crypto/bn/bn_x931p.c @@ -184,8 +184,10 @@ int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx) for (i = 0; i < 1000; i++) { if (!BN_priv_rand(Xq, nbits, BN_RAND_TOP_TWO, BN_RAND_BOTTOM_ANY)) goto err; + /* Check that |Xp - Xq| > 2^(nbits - 100) */ - BN_sub(t, Xp, Xq); + if (!BN_sub(t, Xp, Xq)) + goto err; if (BN_num_bits(t) > (nbits - 100)) break; } |