diff options
author | Robert Mustacchi <rm@joyent.com> | 2014-12-26 02:46:52 +0000 |
---|---|---|
committer | Robert Mustacchi <rm@joyent.com> | 2015-02-15 00:36:58 +0000 |
commit | f31c6fa33bcc9a608ce6f9ffd671ffc2b65a30ef (patch) | |
tree | 804c1aad78118d760e083f79a0f411894272488f /usr/src/lib/libuuid/common/uuid_misc.c | |
parent | d34c3434a6ead24ec3e41daebf60ff85376c9e47 (diff) | |
download | illumos-joyent-f31c6fa33bcc9a608ce6f9ffd671ffc2b65a30ef.tar.gz |
OS-3845 want arc4random(3C) suite
OS-3846 want getentropy(3C)
OS-3847 want getrandom(2)
OS-3848 want explicit_bzero(3C)
OS-3843 want MC_INHERIT_ZERO
OS-3844 uuid_generate can leak its cache in edge conditions
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Joshua M. Clulow <josh@sysmgr.org>
Diffstat (limited to 'usr/src/lib/libuuid/common/uuid_misc.c')
-rw-r--r-- | usr/src/lib/libuuid/common/uuid_misc.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/usr/src/lib/libuuid/common/uuid_misc.c b/usr/src/lib/libuuid/common/uuid_misc.c index 547531c19e..a6c320c158 100644 --- a/usr/src/lib/libuuid/common/uuid_misc.c +++ b/usr/src/lib/libuuid/common/uuid_misc.c @@ -22,6 +22,7 @@ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * Copyright (c) 2015, Joyent, Inc. */ /* @@ -120,18 +121,7 @@ get_current_time(uuid_time_t *timestamp) uint16_t get_random(void) { - static int initted = 0; - uuid_time_t time_now; - long seed; - - if (!initted) { - get_system_time(&time_now); - time_now = time_now/UUIDS_PER_TOD_CALL; - seed = (unsigned)(((time_now >> 32) ^ time_now)&0xffffffff); - srand48(seed); - initted = 1; - } - return (mrand48()); + return (arc4random_uniform(UINT16_MAX)); } /* |