diff options
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_key.c')
-rw-r--r-- | src/lib/libcrypto/dsa/dsa_key.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_key.c b/src/lib/libcrypto/dsa/dsa_key.c index ab7f38fc7c..5aef2d5fcf 100644 --- a/src/lib/libcrypto/dsa/dsa_key.c +++ b/src/lib/libcrypto/dsa/dsa_key.c | |||
@@ -84,7 +84,8 @@ int DSA_generate_key(DSA *dsa) | |||
84 | i=BN_num_bits(dsa->q); | 84 | i=BN_num_bits(dsa->q); |
85 | for (;;) | 85 | for (;;) |
86 | { | 86 | { |
87 | BN_rand(priv_key,i,1,0); | 87 | if (!BN_rand(priv_key,i,1,0)) |
88 | goto err; | ||
88 | if (BN_cmp(priv_key,dsa->q) >= 0) | 89 | if (BN_cmp(priv_key,dsa->q) >= 0) |
89 | BN_sub(priv_key,priv_key,dsa->q); | 90 | BN_sub(priv_key,priv_key,dsa->q); |
90 | if (!BN_is_zero(priv_key)) break; | 91 | if (!BN_is_zero(priv_key)) break; |