aboutsummaryrefslogtreecommitdiff
path: root/wrapper.c
diff options
context:
space:
mode:
authorMike Ralphson <mike@abacus.co.uk>2009-02-26 16:31:52 +0100
committerJunio C Hamano <gitster@pobox.com>2009-02-26 08:40:27 -0800
commit2c626e5fa8a46f647b88fb32d7b28d573e8631bf (patch)
tree0da673738e4c2e1c90e7a80dfa46e45c41bf0b87 /wrapper.c
parent6e180cdcecbb3e828aa892925d7ef67abf81ad80 (diff)
downloadgit-2c626e5fa8a46f647b88fb32d7b28d573e8631bf.tar.gz
git-2c626e5fa8a46f647b88fb32d7b28d573e8631bf.tar.xz
Fix odb_mkstemp() on AIX
The AIX mkstemp() modifies its template parameter to an empty string if the call fails. The existing code had already recomputed the template, but too late to be good. See also 6ff6af62, which fixed this problem in a different spot. Signed-off-by: Mike Ralphson <mike@abacus.co.uk> Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'wrapper.c')
-rw-r--r--wrapper.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/wrapper.c b/wrapper.c
index 231a58f1a..5e9de294d 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -208,9 +208,10 @@ int odb_mkstemp(char *template, size_t limit, const char *pattern)
return fd;
/* slow path */
- safe_create_leading_directories(template);
+ /* some mkstemp implementations erase template on failure */
snprintf(template, limit, "%s/%s",
get_object_directory(), pattern);
+ safe_create_leading_directories(template);
return xmkstemp(template);
}