xmkstemp(): avoid showing truncated template more carefully
Some implementations of xmkstemp() leaves the given in/out buffer truncated when they return with failure. 6cf6bb3 (Improve error messages when temporary file creation fails, 2010-12-18) attempted to show the real filename we tried to create (but failed), and if that is not available due to such truncation, to show the original template that was given by the caller. But it failed to take into account that the given template could have "directory/" in front, in which case the truncation point may not be template[0] but somewhere else. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7e2010537e
commit
f7be59b477
@ -229,7 +229,7 @@ int xmkstemp(char *template)
|
|||||||
int saved_errno = errno;
|
int saved_errno = errno;
|
||||||
const char *nonrelative_template;
|
const char *nonrelative_template;
|
||||||
|
|
||||||
if (!template[0])
|
if (strlen(template) != strlen(origtemplate))
|
||||||
template = origtemplate;
|
template = origtemplate;
|
||||||
|
|
||||||
nonrelative_template = absolute_path(template);
|
nonrelative_template = absolute_path(template);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user