diff options
Diffstat (limited to 'archive-tar.c')
-rw-r--r-- | archive-tar.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/archive-tar.c b/archive-tar.c index a87bc4b83e..e1bced5609 100644 --- a/archive-tar.c +++ b/archive-tar.c @@ -238,15 +238,14 @@ static int write_tar_entry(const unsigned char *sha1, const char *filename, unsigned mode, int stage) { static struct strbuf path = STRBUF_INIT; - int filenamelen = strlen(filename); void *buffer; enum object_type type; unsigned long size; - strbuf_grow(&path, MAX(PATH_MAX, baselen + filenamelen + 1)); strbuf_reset(&path); + strbuf_grow(&path, PATH_MAX); strbuf_add(&path, base, baselen); - strbuf_add(&path, filename, filenamelen); + strbuf_addstr(&path, filename); if (S_ISDIR(mode) || S_ISGITLINK(mode)) { strbuf_addch(&path, '/'); buffer = NULL; |