X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fdsa%2Fdsa_ossl.c;h=734681733703217a38fc1b14fbe3b195f708b345;hp=7304037947e5db01c0e80e66f7bf1efc75a44b5e;hb=e306892994a0f189089916d2ea66b3bdc0b2d777;hpb=57e7d3ce1546fc6026ffe3f1f243c54d0bb59d3e diff --git a/crypto/dsa/dsa_ossl.c b/crypto/dsa/dsa_ossl.c index 7304037947..7346817337 100644 --- a/crypto/dsa/dsa_ossl.c +++ b/crypto/dsa/dsa_ossl.c @@ -180,7 +180,9 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp) kinv=NULL; /* Get random k */ - if (!BN_rand_range(&k, BN_value_one(), dsa->q)) goto err; + do + if (!BN_rand_range(&k, dsa->q)) goto err; + while (BN_is_zero(&k)); if ((dsa->method_mont_p == NULL) && (dsa->flags & DSA_FLAG_CACHE_MONT_P)) {