summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authordjm <>2008-04-13 00:22:17 +0000
committerdjm <>2008-04-13 00:22:17 +0000
commit3e091e5f9bb5ae7fbc3f63db4474a599ad3fe529 (patch)
tree0e1965dcc8091ab020514725a20f44d719ea77a4 /src/lib
parentd1031d50623e71c1ec734e02b7cd61ec97899d9f (diff)
downloadopenbsd-3e091e5f9bb5ae7fbc3f63db4474a599ad3fe529.tar.gz
openbsd-3e091e5f9bb5ae7fbc3f63db4474a599ad3fe529.tar.bz2
openbsd-3e091e5f9bb5ae7fbc3f63db4474a599ad3fe529.zip
Use arc4random_buf() when requesting more than a single word of output
Use arc4random_uniform() when the desired random number upper bound is not a power of two ok deraadt@ millert@
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libc/stdlib/malloc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c
index 8348b7ede1..c4869527ad 100644
--- a/src/lib/libc/stdlib/malloc.c
+++ b/src/lib/libc/stdlib/malloc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: malloc.c,v 1.88 2008/02/20 18:31:34 otto Exp $ */ 1/* $OpenBSD: malloc.c,v 1.89 2008/04/13 00:22:16 djm Exp $ */
2 2
3/* 3/*
4 * ---------------------------------------------------------------------------- 4 * ----------------------------------------------------------------------------
@@ -1140,7 +1140,7 @@ malloc_bytes(size_t size)
1140 1140
1141 if (malloc_guard) { 1141 if (malloc_guard) {
1142 /* Walk to a random position. */ 1142 /* Walk to a random position. */
1143 i = arc4random() % bp->free; 1143 i = arc4random_uniform(bp->free);
1144 while (i > 0) { 1144 while (i > 0) {
1145 u += u; 1145 u += u;
1146 k++; 1146 k++;