entry.c: convert strcpy to xsnprintf
This particular conversion is non-obvious, because nobody has passed our function the length of the destination buffer. However, the interface to checkout_entry specifies that the buffer must be at least TEMPORARY_FILENAME_LENGTH bytes long, so we can check that (meaning the existing code was not buggy, but merely worrisome to somebody reading it). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
19bdd3e7e1
commit
330c8e2670
4
entry.c
4
entry.c
@ -96,8 +96,8 @@ static int open_output_fd(char *path, const struct cache_entry *ce, int to_tempf
|
||||
{
|
||||
int symlink = (ce->ce_mode & S_IFMT) != S_IFREG;
|
||||
if (to_tempfile) {
|
||||
strcpy(path, symlink
|
||||
? ".merge_link_XXXXXX" : ".merge_file_XXXXXX");
|
||||
xsnprintf(path, TEMPORARY_FILENAME_LENGTH, "%s",
|
||||
symlink ? ".merge_link_XXXXXX" : ".merge_file_XXXXXX");
|
||||
return mkstemp(path);
|
||||
} else {
|
||||
return create_file(path, !symlink ? ce->ce_mode : 0666);
|
||||
|
Loading…
Reference in New Issue
Block a user