From ffa9fd957039902c9a08946d82ccb729a34ed68b Mon Sep 17 00:00:00 2001 From: Stephan Beyer Date: Tue, 12 Aug 2008 00:35:11 +0200 Subject: [PATCH] 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 --- builtin-commit-tree.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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) -- 2.30.2