diff options
Diffstat (limited to 'src/lib/libc/stdlib/lrand48.c')
-rw-r--r-- | src/lib/libc/stdlib/lrand48.c | 4 |
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]; | |||
19 | long | 19 | long |
20 | lrand48(void) | 20 | lrand48(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 | } |