Sfoglia il codice sorgente

avoid limited space of random temp file names if clock resolution is low

this is not an issue that was actually hit, but I noticed it during
previous changes to __randname: if the resolution of tv_nsec is too
low, the space of temp file names obtainable by a thread could
plausibly be exhausted. mixing in tv_sec avoids this.
Rich Felker 2 anni fa
parent
commit
a23a3da29b
1 ha cambiato i file con 1 aggiunte e 1 eliminazioni
  1. 1 1
      src/temp/__randname.c

+ 1 - 1
src/temp/__randname.c

@@ -11,7 +11,7 @@ char *__randname(char *template)
 	unsigned long r;
 
 	__clock_gettime(CLOCK_REALTIME, &ts);
-	r = ts.tv_nsec + __pthread_self()->tid * 65537UL;
+	r = ts.tv_sec + ts.tv_nsec + __pthread_self()->tid * 65537UL;
 	for (i=0; i<6; i++, r>>=5)
 		template[i] = 'A'+(r&15)+(r&16)*2;