projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
major improvements to temp file name generator
[musl]
/
src
/
temp
/
mkstemp.c
diff --git
a/src/temp/mkstemp.c
b/src/temp/mkstemp.c
index
3464256
..
2ab3020
100644
(file)
--- a/
src/temp/mkstemp.c
+++ b/
src/temp/mkstemp.c
@@
-11,8
+11,8
@@
char *__mktemp(char *);
int mkstemp(char *template)
{
int mkstemp(char *template)
{
- int fd;
-
for (;;
) {
+ int fd
, retries = 100
;
+
while (retries--
) {
if (!__mktemp(template)) return 0;
if ((fd = open(template, O_RDWR | O_CREAT | O_EXCL, 0600))>=0)
return fd;
if (!__mktemp(template)) return 0;
if ((fd = open(template, O_RDWR | O_CREAT | O_EXCL, 0600))>=0)
return fd;
@@
-21,6
+21,7
@@
int mkstemp(char *template)
* that we have a valid template string */
strcpy(template+strlen(template)-6, "XXXXXX");
}
* that we have a valid template string */
strcpy(template+strlen(template)-6, "XXXXXX");
}
+ return -1;
}
LFS64(mkstemp);
}
LFS64(mkstemp);