summaryrefslogtreecommitdiffstats
path: root/crypto/des/rand_key.c
diff options
context:
space:
mode:
authorUlf Möller <ulf@openssl.org>2000-03-19 02:10:17 +0000
committerUlf Möller <ulf@openssl.org>2000-03-19 02:10:17 +0000
commitedb93ae643c9f84df92fbddceff437994c6ea58b (patch)
tree1f2736d5646a93d541896270e0b6162b4b2de1e8 /crypto/des/rand_key.c
parent395df2fe306764e0d6909d423cd390ee2e841392 (diff)
cleanup.
Diffstat (limited to 'crypto/des/rand_key.c')
-rw-r--r--crypto/des/rand_key.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/crypto/des/rand_key.c b/crypto/des/rand_key.c
index 7816a8f25c..ee1a6c274e 100644
--- a/crypto/des/rand_key.c
+++ b/crypto/des/rand_key.c
@@ -63,7 +63,11 @@ void des_random_seed(des_cblock *key)
int des_random_key(des_cblock *ret)
{
- int r = RAND_bytes((unsigned char *)ret, sizeof(des_cblock));
+ do
+ {
+ if (RAND_bytes((unsigned char *)ret, sizeof(des_cblock)) != 1)
+ return (0);
+ } while (des_is_weak_key(ret));
des_set_odd_parity(ret);
- return r;
+ return (1);
}