From 13019d413647c4fbd3bb1564bbdf0d934c0a74d7 Mon Sep 17 00:00:00 2001 From: Sergey Vlasov Date: Wed, 4 May 2005 21:44:15 +0400 Subject: [PATCH] Fix memory leaks in git-fsck-cache This patch fixes memory leaks in parse_object() and related functions; these leaks were very noticeable when running git-fsck-cache. Signed-off-by: Sergey Vlasov Signed-off-by: Linus Torvalds --- object.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'object.c') diff --git a/object.c b/object.c index ca4af8fa2d..c1f22910a2 100644 --- a/object.c +++ b/object.c @@ -107,11 +107,12 @@ struct object *parse_object(unsigned char *sha1) char type[100]; unsigned long size; void *buffer = unpack_sha1_file(map, mapsize, type, &size); + munmap(map, mapsize); if (!buffer) return NULL; if (check_sha1_signature(sha1, buffer, size, type) < 0) printf("sha1 mismatch %s\n", sha1_to_hex(sha1)); - munmap(map, mapsize); + free(buffer); if (!strcmp(type, "blob")) { struct blob *ret = lookup_blob(sha1); parse_blob(ret); -- cgit v1.2.3