summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/lrand48.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libc/stdlib/lrand48.c')
-rw-r--r--src/lib/libc/stdlib/lrand48.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libc/stdlib/lrand48.c b/src/lib/libc/stdlib/lrand48.c
index 21beb858ca..22508594fc 100644
--- a/src/lib/libc/stdlib/lrand48.c
+++ b/src/lib/libc/stdlib/lrand48.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: lrand48.c,v 1.3 2005/08/08 08:05:36 espie Exp $ */ 1/* $OpenBSD: lrand48.c,v 1.4 2014/12/08 21:45:20 deraadt Exp $ */
2/* 2/*
3 * Copyright (c) 1993 Martin Birgmeier 3 * Copyright (c) 1993 Martin Birgmeier
4 * All rights reserved. 4 * All rights reserved.
@@ -19,6 +19,8 @@ extern unsigned short __rand48_seed[3];
19long 19long
20lrand48(void) 20lrand48(void)
21{ 21{
22 if (__rand48_deterministic == 0)
23 return arc4random() & 0x7fffffff;
22 __dorand48(__rand48_seed); 24 __dorand48(__rand48_seed);
23 return ((long) __rand48_seed[2] << 15) + ((long) __rand48_seed[1] >> 1); 25 return ((long) __rand48_seed[2] << 15) + ((long) __rand48_seed[1] >> 1);
24} 26}