summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/dsa/dsa_key.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_key.c')
-rw-r--r--src/lib/libcrypto/dsa/dsa_key.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_key.c b/src/lib/libcrypto/dsa/dsa_key.c
index 7ead1f30cc..4039fbf407 100644
--- a/src/lib/libcrypto/dsa/dsa_key.c
+++ b/src/lib/libcrypto/dsa/dsa_key.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dsa_key.c,v 1.26 2018/11/05 23:54:27 tb Exp $ */ 1/* $OpenBSD: dsa_key.c,v 1.27 2018/11/06 02:14:39 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -92,8 +92,10 @@ dsa_builtin_keygen(DSA *dsa)
92 goto err; 92 goto err;
93 } 93 }
94 94
95 if (!bn_rand_interval(priv_key, BN_value_one(), dsa->q)) 95 do {
96 goto err; 96 if (!BN_rand_range(priv_key, dsa->q))
97 goto err;
98 } while (BN_is_zero(priv_key));
97 99
98 if (pub_key == NULL) { 100 if (pub_key == NULL) {
99 if ((pub_key = BN_new()) == NULL) 101 if ((pub_key = BN_new()) == NULL)