Workaround for AIX mkstemp()
authorPatrick Higgins <patrick.higgins@cexp.com>
Mon, 23 Jun 2008 21:33:41 +0000 (15:33 -0600)
committerJunio C Hamano <gitster@pobox.com>
Mon, 23 Jun 2008 23:13:38 +0000 (16:13 -0700)
The AIX mkstemp will modify it's template parameter to an empty string if
the call fails. This caused a subsequent mkdir to fail.

Signed-off-by: Patrick Higgins <patrick.higgins@cexp.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
sha1_file.c

index 191f814e09ee6067edf7b0acc73a04751e73a6da..92299ed622b802da0f40bcdcdc9fbcadd958c7a2 100644 (file)
@@ -2118,6 +2118,7 @@ static int create_tmpfile(char *buffer, size_t bufsiz, const char *filename)
        fd = mkstemp(buffer);
        if (fd < 0 && dirlen) {
                /* Make sure the directory exists */
+               memcpy(buffer, filename, dirlen);
                buffer[dirlen-1] = 0;
                if (mkdir(buffer, 0777) || adjust_shared_perm(buffer))
                        return -1;