aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libbb/xfuncs_printf.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/libbb/xfuncs_printf.c b/libbb/xfuncs_printf.c
index f1cf7aeed..fcc798662 100644
--- a/libbb/xfuncs_printf.c
+++ b/libbb/xfuncs_printf.c
@@ -633,14 +633,11 @@ void FAST_FUNC generate_uuid(uint8_t *buf)
633 pid_t pid; 633 pid_t pid;
634 int i; 634 int i;
635 635
636 i = open("/dev/urandom", O_RDONLY); 636 open_read_close("/dev/urandom", buf, 16);
637 if (i >= 0) {
638 read(i, buf, 16);
639 close(i);
640 }
641 /* Paranoia. /dev/urandom may be missing. 637 /* Paranoia. /dev/urandom may be missing.
642 * rand() is guaranteed to generate at least [0, 2^15) range, 638 * rand() is guaranteed to generate at least [0, 2^15) range,
643 * but lowest bits in some libc are not so "random". */ 639 * but lowest bits in some libc are not so "random".
640 */
644 srand(monotonic_us()); /* pulls in printf */ 641 srand(monotonic_us()); /* pulls in printf */
645 pid = getpid(); 642 pid = getpid();
646 while (1) { 643 while (1) {