diff options
author | Björn Steinbrink <B.Steinbrink@gmx.de> | 2008-06-29 03:21:25 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-06-28 19:50:56 -0700 |
commit | 5b8a94b1db4beba969d8cbb0e6e45033834b5913 (patch) | |
tree | f8096d4e0066ff55878725a960961bd4fb1bd6f4 /builtin-cat-file.c | |
parent | 762656e03e80a77aeca6163597640d4e48eee55c (diff) | |
download | git-5b8a94b1db4beba969d8cbb0e6e45033834b5913.tar.gz |
git cat-file: Fix memory leak in batch mode
When run in batch mode, git cat-file never frees the memory for the blob
contents it is printing. This quickly adds up and causes git-svn to be
hardly usable for imports of large svn repos, because it uses cat-file in
batch mode and cat-file's memory usage easily reaches several hundred MB
without any good reason.
Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-cat-file.c')
-rw-r--r-- | builtin-cat-file.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin-cat-file.c b/builtin-cat-file.c index bd343efae7..880e75af5e 100644 --- a/builtin-cat-file.c +++ b/builtin-cat-file.c @@ -181,6 +181,7 @@ static int batch_one_object(const char *obj_name, int print_contents) write_or_die(1, contents, size); printf("\n"); fflush(stdout); + free(contents); } return 0; |