diff options
-rw-r--r-- | libbb/xfuncs_printf.c | 9 |
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) { |