Message ID | 20190725142550.18479-1-adhemerval.zanella@linaro.org |
---|---|
State | Accepted |
Commit | e1df30fbc2e2167a982c0e77a7ebee28f4dd0800 |
Headers | show |
Series | Get new entropy on each attempt __gen_tempname (BZ #15813) | expand |
* Adhemerval Zanella:
> + uint64_t pid = (uint64_t)__getpid () << 32;
Space after cast? Rest of the change looks okay.
Thanks,
Florian
On 29/07/2019 05:33, Florian Weimer wrote: > * Adhemerval Zanella: > >> + uint64_t pid = (uint64_t)__getpid () << 32; > > Space after cast? Rest of the change looks okay. Ack, changed locally. > > Thanks, > Florian >
On 7/29/19 1:55 PM, Adhemerval Zanella wrote: > > > On 29/07/2019 05:33, Florian Weimer wrote: >> * Adhemerval Zanella: >> >>> + uint64_t pid = (uint64_t)__getpid () << 32; >> >> Space after cast? Rest of the change looks okay. > > Ack, changed locally. Are you OK with this waiting for 2.31 to open? I'd like to minimize the changes to those we're making for gcc 10 compatibility. -- Cheers, Carlos.
On 29/07/2019 15:52, Carlos O'Donell wrote: > On 7/29/19 1:55 PM, Adhemerval Zanella wrote: >> >> >> On 29/07/2019 05:33, Florian Weimer wrote: >>> * Adhemerval Zanella: >>> >>>> + uint64_t pid = (uint64_t)__getpid () << 32; >>> >>> Space after cast? Rest of the change looks okay. >> >> Ack, changed locally. > > Are you OK with this waiting for 2.31 to open? > > I'd like to minimize the changes to those we're making for > gcc 10 compatibility. > Certainly, I forgot to add on this fix that it is meant for 2.31.
diff --git a/sysdeps/posix/tempname.c b/sysdeps/posix/tempname.c index de346949b2..e930211703 100644 --- a/sysdeps/posix/tempname.c +++ b/sysdeps/posix/tempname.c @@ -186,7 +186,6 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind) { int len; char *XXXXXX; - uint64_t value; unsigned int count; int fd = -1; int save_errno = errno; @@ -218,13 +217,13 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind) /* 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];