Re: [PATCH] git-archive: convert archive entries like checkouts do
- From
René Scharfe <rene.scharfe@lsrfire.ath.cx>
- Date
- May 18, 2007, 22:58 UTC
- Message-ID
- <464E2F82.7090309@lsrfire.ath.cx>
- In-Reply-To
- <Pine.LNX.4.64.0705181826220.18541@iabervon.org>
Daniel Barkalow schrieb:
> Conditional needs a "+ 1", too.
[...]
> Same here.
Thank you for spotting this. Fix-up patch below.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
--- Embarrassing. I'm off to go to sleep now.
archive-tar.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/archive-tar.c b/archive-tar.c index eb0abc7..33e7657 100644 --- a/archive-tar.c +++ b/archive-tar.c @@ -82,7 +82,7 @@ static void strbuf_append_string(struct strbuf *sb, const char *s) { int slen = strlen(s); int total = sb->len + slen; - if (total > sb->alloc) { + if (total + 1 > sb->alloc) { sb->buf = xrealloc(sb->buf, total + 1); sb->alloc = total + 1; } @@ -271,7 +271,7 @@ static int write_tar_entry(const unsigned char *sha1, path.alloc = PATH_MAX; path.len = path.eof = 0; } - if (path.alloc < baselen + filenamelen) { + if (path.alloc < baselen + filenamelen + 1) { free(path.buf); path.buf = xmalloc(baselen + filenamelen + 1); path.alloc = baselen + filenamelen + 1;