From bbdc8261f84c22c8c82cc51fa84c70efb1b7ab99 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 13 Apr 1998 22:59:33 +0000 Subject: [PATCH] Update. 1998-04-13 Ulrich Drepper * sysdeps/posix/mktemp.c: Increment `value' in a way which touches all needed 36 bits. * sysdeps/posix/mkstemp.c: Likewise. --- ChangeLog | 6 ++++++ sysdeps/posix/mkstemp.c | 2 +- sysdeps/posix/mktemp.c | 6 +++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index fc4f3b8..f88e5ac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1998-04-13 Ulrich Drepper + + * sysdeps/posix/mktemp.c: Increment `value' in a way which touches + all needed 36 bits. + * sysdeps/posix/mkstemp.c: Likewise. + 1998-04-13 17:40 Ulrich Drepper * iconvdata/8bit-gap.c: Simplify step data handling. diff --git a/sysdeps/posix/mkstemp.c b/sysdeps/posix/mkstemp.c index b3c8b64..3d8be9c 100644 --- a/sysdeps/posix/mkstemp.c +++ b/sysdeps/posix/mkstemp.c @@ -53,7 +53,7 @@ mkstemp (template) /* Get some more or less random data. */ __gettimeofday (&tv, NULL); - value += tv.tv_usec | getpid (); + value += ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec ^ getpid (); for (count = 0; count < TMP_MAX; ++count) { diff --git a/sysdeps/posix/mktemp.c b/sysdeps/posix/mktemp.c index 6bbc4c0..ad5cb1d 100644 --- a/sysdeps/posix/mktemp.c +++ b/sysdeps/posix/mktemp.c @@ -35,7 +35,7 @@ mktemp (template) { static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - static uint32_t value; + static uint64_t value; struct timeval tv; char *XXXXXX; size_t len; @@ -53,12 +53,12 @@ mktemp (template) /* Get some more or less random data. */ __gettimeofday (&tv, NULL); - value += tv.tv_usec | getpid (); + value += ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec ^ getpid (); for (count = 0; count < TMP_MAX; ++count) { struct stat ignored; - uint32_t v = value; + uint64_t v = value; /* Fill in the random bits. */ XXXXXX[0] = letters[v % 62]; -- 2.7.4