diff options
author | Rich Felker <dalias@aerifal.cx> | 2022-06-23 11:53:28 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2022-06-23 11:53:28 -0400 |
commit | a23a3da29bcca8d179d1e4de7d059639716a5c1e (patch) | |
tree | 4e8b219fbf79501b21a959a1f71dd91789bfb9c6 /src/temp | |
parent | 4100279825c17807bdabf1c128ba4e49a1dea406 (diff) | |
download | musl-a23a3da29bcca8d179d1e4de7d059639716a5c1e.tar.gz musl-a23a3da29bcca8d179d1e4de7d059639716a5c1e.tar.bz2 musl-a23a3da29bcca8d179d1e4de7d059639716a5c1e.tar.xz musl-a23a3da29bcca8d179d1e4de7d059639716a5c1e.zip |
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.
Diffstat (limited to 'src/temp')
-rw-r--r-- | src/temp/__randname.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/temp/__randname.c b/src/temp/__randname.c index 1425badc..e9b970f1 100644 --- a/src/temp/__randname.c +++ b/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; |