diff options
| author | miod <> | 2015-10-21 19:02:22 +0000 |
|---|---|---|
| committer | miod <> | 2015-10-21 19:02:22 +0000 |
| commit | 169b1d04ba02c0b6ed76ddbfa052ef2c50e38d9e (patch) | |
| tree | 5ddf8c3dac23f792a949739928d1abaeec3376b7 /src/lib/libcrypto/bn/bn.h | |
| parent | 5bfa54bf57c9fe322705272ef6828f70c873d9de (diff) | |
| download | openbsd-169b1d04ba02c0b6ed76ddbfa052ef2c50e38d9e.tar.gz openbsd-169b1d04ba02c0b6ed76ddbfa052ef2c50e38d9e.tar.bz2 openbsd-169b1d04ba02c0b6ed76ddbfa052ef2c50e38d9e.zip | |
Reject too small bits value in BN_generate_prime_ex(), so that it does not risk
becoming negative in probable_prime_dh_safe(). Reported by Franck Denis who
noticed `openssl gendh 0' would segfault.
Fix adapted from OpenSSL RT#2701.
ok beck@ jsing@
Diffstat (limited to 'src/lib/libcrypto/bn/bn.h')
| -rw-r--r-- | src/lib/libcrypto/bn/bn.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libcrypto/bn/bn.h b/src/lib/libcrypto/bn/bn.h index 33c6162874..2c648ba2ee 100644 --- a/src/lib/libcrypto/bn/bn.h +++ b/src/lib/libcrypto/bn/bn.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: bn.h,v 1.27 2015/10/16 12:41:29 beck Exp $ */ | 1 | /* $OpenBSD: bn.h,v 1.28 2015/10/21 19:02:22 miod Exp $ */ |
| 2 | /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -768,6 +768,7 @@ void ERR_load_BN_strings(void); | |||
| 768 | #define BN_F_BN_DIV_RECP 130 | 768 | #define BN_F_BN_DIV_RECP 130 |
| 769 | #define BN_F_BN_EXP 123 | 769 | #define BN_F_BN_EXP 123 |
| 770 | #define BN_F_BN_EXPAND2 108 | 770 | #define BN_F_BN_EXPAND2 108 |
| 771 | #define BN_F_BN_GENERATE_PRIME_EX 140 | ||
| 771 | #define BN_F_BN_EXPAND_INTERNAL 120 | 772 | #define BN_F_BN_EXPAND_INTERNAL 120 |
| 772 | #define BN_F_BN_GF2M_MOD 131 | 773 | #define BN_F_BN_GF2M_MOD 131 |
| 773 | #define BN_F_BN_GF2M_MOD_EXP 132 | 774 | #define BN_F_BN_GF2M_MOD_EXP 132 |
| @@ -797,6 +798,7 @@ void ERR_load_BN_strings(void); | |||
| 797 | #define BN_R_ARG2_LT_ARG3 100 | 798 | #define BN_R_ARG2_LT_ARG3 100 |
| 798 | #define BN_R_BAD_RECIPROCAL 101 | 799 | #define BN_R_BAD_RECIPROCAL 101 |
| 799 | #define BN_R_BIGNUM_TOO_LONG 114 | 800 | #define BN_R_BIGNUM_TOO_LONG 114 |
| 801 | #define BN_R_BITS_TOO_SMALL 117 | ||
| 800 | #define BN_R_CALLED_WITH_EVEN_MODULUS 102 | 802 | #define BN_R_CALLED_WITH_EVEN_MODULUS 102 |
| 801 | #define BN_R_DIV_BY_ZERO 103 | 803 | #define BN_R_DIV_BY_ZERO 103 |
| 802 | #define BN_R_ENCODING_ERROR 104 | 804 | #define BN_R_ENCODING_ERROR 104 |
