[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 <vsu@altlinux.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Sergey Vlasov
2005-05-04 21:44:15 +04:00
committed by Linus Torvalds
parent 705acc5c94
commit 13019d4136
5 changed files with 27 additions and 11 deletions

View File

@ -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);