summaryrefslogtreecommitdiffstats
path: root/crypto/openssh/dh.c
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2004-02-26 10:38:49 +0000
committerdes <des@FreeBSD.org>2004-02-26 10:38:49 +0000
commit7d1750f1d6c24163bf22790f8527f1783315c5e7 (patch)
tree44704f8b727acba451fd902fe3c26053cb6ce73e /crypto/openssh/dh.c
parent5c8d98dfbd6964b6be84da30b9d16df0cab3c42d (diff)
downloadFreeBSD-src-7d1750f1d6c24163bf22790f8527f1783315c5e7.zip
FreeBSD-src-7d1750f1d6c24163bf22790f8527f1783315c5e7.tar.gz
Vendor import of OpenSSH 3.8p1.
Diffstat (limited to 'crypto/openssh/dh.c')
-rw-r--r--crypto/openssh/dh.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/crypto/openssh/dh.c b/crypto/openssh/dh.c
index 996428b..c7a3e18 100644
--- a/crypto/openssh/dh.c
+++ b/crypto/openssh/dh.c
@@ -23,7 +23,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: dh.c,v 1.24 2003/04/08 20:21:28 itojun Exp $");
+RCSID("$OpenBSD: dh.c,v 1.26 2003/12/16 15:51:54 markus Exp $");
#include "xmalloc.h"
@@ -198,7 +198,7 @@ dh_gen_key(DH *dh, int need)
if (dh->p == NULL)
fatal("dh_gen_key: dh->p == NULL");
- if (2*need >= BN_num_bits(dh->p))
+ if (need > INT_MAX / 2 || 2 * need >= BN_num_bits(dh->p))
fatal("dh_gen_key: group too small: %d (2*need %d)",
BN_num_bits(dh->p), 2*need);
do {
@@ -279,11 +279,9 @@ int
dh_estimate(int bits)
{
- if (bits < 64)
- return (512); /* O(2**63) */
- if (bits < 128)
+ if (bits <= 128)
return (1024); /* O(2**86) */
- if (bits < 192)
+ if (bits <= 192)
return (2048); /* O(2**116) */
return (4096); /* O(2**156) */
}
OpenPOWER on IntegriCloud