From: Stephan Beyer Date: Mon, 11 Aug 2008 22:35:11 +0000 (+0200) Subject: Fix commit_tree() buffer leak X-Git-Tag: v1.6.1-rc1~327^2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=ffa9fd957039902c9a08946d82ccb729a34ed68b;p=git.git Fix commit_tree() buffer leak The commit_tree() strbuf has a minimum size of 8k and it has not been released yet. This patch releases the buffer. Signed-off-by: Stephan Beyer Signed-off-by: Junio C Hamano --- diff --git a/builtin-commit-tree.c b/builtin-commit-tree.c index 7a9a309be..f773db596 100644 --- a/builtin-commit-tree.c +++ b/builtin-commit-tree.c @@ -48,6 +48,7 @@ static const char commit_utf8_warn[] = int commit_tree(const char *msg, unsigned char *tree, struct commit_list *parents, unsigned char *ret) { + int result; int encoding_is_utf8; struct strbuf buffer; @@ -86,7 +87,9 @@ int commit_tree(const char *msg, unsigned char *tree, if (encoding_is_utf8 && !is_utf8(buffer.buf)) fprintf(stderr, commit_utf8_warn); - return write_sha1_file(buffer.buf, buffer.len, commit_type, ret); + result = write_sha1_file(buffer.buf, buffer.len, commit_type, ret); + strbuf_release(&buffer); + return result; } int cmd_commit_tree(int argc, const char **argv, const char *prefix)