public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Get new entropy on each attempt __gen_tempname (BZ #15813)
@ 2019-07-25 14:25 Adhemerval Zanella
  2019-07-29  8:33 ` Florian Weimer
  0 siblings, 1 reply; 5+ messages in thread
From: Adhemerval Zanella @ 2019-07-25 14:25 UTC (permalink / raw)
  To: libc-alpha

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.
---
 sysdeps/posix/tempname.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

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];
-- 
2.17.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Get new entropy on each attempt __gen_tempname (BZ #15813)
  2019-07-25 14:25 [PATCH] Get new entropy on each attempt __gen_tempname (BZ #15813) Adhemerval Zanella
@ 2019-07-29  8:33 ` Florian Weimer
  2019-07-29 17:55   ` Adhemerval Zanella
  0 siblings, 1 reply; 5+ messages in thread
From: Florian Weimer @ 2019-07-29  8:33 UTC (permalink / raw)
  To: Adhemerval Zanella; +Cc: libc-alpha

* Adhemerval Zanella:

> +  uint64_t pid = (uint64_t)__getpid () << 32;

Space after cast?  Rest of the change looks okay.

Thanks,
Florian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Get new entropy on each attempt __gen_tempname (BZ #15813)
  2019-07-29  8:33 ` Florian Weimer
@ 2019-07-29 17:55   ` Adhemerval Zanella
  2019-07-29 18:52     ` Carlos O'Donell
  0 siblings, 1 reply; 5+ messages in thread
From: Adhemerval Zanella @ 2019-07-29 17:55 UTC (permalink / raw)
  To: Florian Weimer; +Cc: libc-alpha



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
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Get new entropy on each attempt __gen_tempname (BZ #15813)
  2019-07-29 17:55   ` Adhemerval Zanella
@ 2019-07-29 18:52     ` Carlos O'Donell
  2019-07-29 18:59       ` Adhemerval Zanella
  0 siblings, 1 reply; 5+ messages in thread
From: Carlos O'Donell @ 2019-07-29 18:52 UTC (permalink / raw)
  To: Adhemerval Zanella, Florian Weimer; +Cc: libc-alpha

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.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Get new entropy on each attempt __gen_tempname (BZ #15813)
  2019-07-29 18:52     ` Carlos O'Donell
@ 2019-07-29 18:59       ` Adhemerval Zanella
  0 siblings, 0 replies; 5+ messages in thread
From: Adhemerval Zanella @ 2019-07-29 18:59 UTC (permalink / raw)
  To: Carlos O'Donell, Florian Weimer; +Cc: libc-alpha



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.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-07-29 18:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-25 14:25 [PATCH] Get new entropy on each attempt __gen_tempname (BZ #15813) Adhemerval Zanella
2019-07-29  8:33 ` Florian Weimer
2019-07-29 17:55   ` Adhemerval Zanella
2019-07-29 18:52     ` Carlos O'Donell
2019-07-29 18:59       ` Adhemerval Zanella

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).