X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Ftemp%2Fmkostemps.c;h=7f8492a1ae8479ef2ca167c5dc6d37edd819ddb8;hb=7cbb6f70c8fe711644ec0dbede1973cc6641a283;hp=8cc01e37e63a308a9d83f204b425efcffc4b0672;hpb=8872e4e481d8702e68641605bba279796646773d;p=musl diff --git a/src/temp/mkostemps.c b/src/temp/mkostemps.c index 8cc01e37..7f8492a1 100644 --- a/src/temp/mkostemps.c +++ b/src/temp/mkostemps.c @@ -16,12 +16,13 @@ int __mkostemps(char *template, int len, int flags) } int fd, retries = 100; - while (retries--) { + do { __randname(template+l-len-6); if ((fd = open(template, flags | O_RDWR | O_CREAT | O_EXCL, 0600))>=0) return fd; - if (errno != EEXIST) return -1; - } + } while (--retries && errno == EEXIST); + + memcpy(template+l-len-6, "XXXXXX", 6); return -1; }