diff --git a/wrapper.c b/wrapper.c index b07cdf299a..d8efb1365a 100644 --- a/wrapper.c +++ b/wrapper.c @@ -268,9 +268,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); }