summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortedu <>2012-09-04 22:16:17 +0000
committertedu <>2012-09-04 22:16:17 +0000
commit3f93ec5cdfa3967126d6c3c46242221568593016 (patch)
tree36c23aca26d39ad649e7dd6c5ff49f30bce41265 /src
parent592e4ed6b268e0130d4dec902291bd4bb776e54a (diff)
downloadopenbsd-3f93ec5cdfa3967126d6c3c46242221568593016.tar.gz
openbsd-3f93ec5cdfa3967126d6c3c46242221568593016.tar.bz2
openbsd-3f93ec5cdfa3967126d6c3c46242221568593016.zip
arc4random_buf is the easy way to fill a buffer now. ok deraadt
Diffstat (limited to 'src')
-rw-r--r--src/lib/libc/crypt/bcrypt.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/lib/libc/crypt/bcrypt.c b/src/lib/libc/crypt/bcrypt.c
index 207e76ea46..e76f277718 100644
--- a/src/lib/libc/crypt/bcrypt.c
+++ b/src/lib/libc/crypt/bcrypt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bcrypt.c,v 1.24 2008/04/02 19:54:05 millert Exp $ */ 1/* $OpenBSD: bcrypt.c,v 1.25 2012/09/04 22:16:17 tedu Exp $ */
2 2
3/* 3/*
4 * Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de> 4 * Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de>
@@ -148,15 +148,8 @@ char *
148bcrypt_gensalt(u_int8_t log_rounds) 148bcrypt_gensalt(u_int8_t log_rounds)
149{ 149{
150 u_int8_t csalt[BCRYPT_MAXSALT]; 150 u_int8_t csalt[BCRYPT_MAXSALT];
151 u_int16_t i; 151
152 u_int32_t seed = 0; 152 arc4random_buf(csalt, sizeof(csalt));
153
154 for (i = 0; i < BCRYPT_MAXSALT; i++) {
155 if (i % 4 == 0)
156 seed = arc4random();
157 csalt[i] = seed & 0xff;
158 seed = seed >> 8;
159 }
160 153
161 if (log_rounds < 4) 154 if (log_rounds < 4)
162 log_rounds = 4; 155 log_rounds = 4;