This is missing bit for fully fix BZ#15813 (the other two were fixed
by
359653aaacad463).
Checked on x86_64-linux-gnu.
[BZ #15813]
sysdeps/posix/tempname.c (__gen_tempname): get entrypy on each
attempt.
+2019-08-01 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ [BZ #15813]
+ sysdeps/posix/tempname.c (__gen_tempname): get entropy on each
+ attempt.
+
2019-08-01 Carlos O'Donell <carlos@redhat.com>
* version.h (RELEASE): Set to "stable".
{
int len;
char *XXXXXX;
- uint64_t value;
unsigned int count;
int fd = -1;
int save_errno = errno;
/* This is where the Xs start. */
XXXXXX = &tmpl[len - 6 - suffixlen];
- /* Get some more or less random data. */
- RANDOM_BITS (value);
- value ^= (uint64_t)__getpid () << 32;
-
- for (count = 0; count < attempts; value += 7777, ++count)
+ uint64_t pid = (uint64_t) __getpid () << 32;
+ for (count = 0; count < attempts; ++count)
{
- uint64_t v = value;
+ uint64_t v;
+ /* Get some more or less random data. */
+ RANDOM_BITS (v);
+ v ^= pid;
/* Fill in the random bits. */
XXXXXX[0] = letters[v % 62];