X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=archive-tar.c;h=e1bced56093dc08bbc260736637af3356b8598bb;hb=2729cadca22dce2b5bb994581c45a6a71daf7998;hp=a87bc4b83eaff9a5cf3a329eada73ff7c9e557d8;hpb=ba3ed09728cb25e004d3b732de14fca8aeb602f6;p=git.git diff --git a/archive-tar.c b/archive-tar.c index a87bc4b83..e1bced560 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;