diff options
author | Pierre Habouzit <madcoder@debian.org> | 2007-09-20 00:42:10 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-09-20 22:19:17 -0700 |
commit | e03e05ff73a6f6b4f32eb5cd13b4f1e43275e42f (patch) | |
tree | 5bb6c19f462f4595d55418313eb94e7cb6fc0aa7 /archive-tar.c | |
parent | builtin-for-each-ref.c::copy_name() - do not overstep the buffer. (diff) | |
download | tgif-e03e05ff73a6f6b4f32eb5cd13b4f1e43275e42f.tar.xz |
Fix the expansion pattern of the pseudo-static path buffer.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
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; |