rebase: fix fork-point with zero arguments
[gitweb.git] / sha1_file.c
index 7dadd04cb75a9f681cab17f616600cf437fe82ba..5f152235862bfed10a6b0de7dfb1002fa14cdf05 100644 (file)
@@ -2857,7 +2857,9 @@ static int create_tmpfile(char *buffer, size_t bufsiz, const char *filename)
                /* Make sure the directory exists */
                memcpy(buffer, filename, dirlen);
                buffer[dirlen-1] = 0;
-               if (mkdir(buffer, 0777) || adjust_shared_perm(buffer))
+               if (mkdir(buffer, 0777) && errno != EEXIST)
+                       return -1;
+               if (adjust_shared_perm(buffer))
                        return -1;
 
                /* Try again */