major improvements to temp file name generator
[musl] / src / temp / mkstemp.c
index 3464256..2ab3020 100644 (file)
@@ -11,8 +11,8 @@ char *__mktemp(char *);
 
 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;
@@ -21,6 +21,7 @@ int mkstemp(char *template)
                 * that we have a valid template string */
                strcpy(template+strlen(template)-6, "XXXXXX");
        }
+       return -1;
 }
 
 LFS64(mkstemp);