From: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Date: Thu, 10 Aug 2006 15:02:35 +0000 (+0200)
Subject: git-verify-pack: free pack after use and a cleanup
X-Git-Tag: v1.4.2~15
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d0d619c8c50b90fbbd6a7e0994fde073341bf92b;p=git

git-verify-pack: free pack after use and a cleanup

Plug memory leak in verify_one_pack() by freeing the struct packed_git
we got from add_packed_git().  Also rename g to pack and pull an
assignment out of an if statement while we're at it.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
---

diff --git a/verify-pack.c b/verify-pack.c
index c7293140f6..78d789c62d 100644
--- a/verify-pack.c
+++ b/verify-pack.c
@@ -5,7 +5,8 @@ static int verify_one_pack(const char *path, int verbose)
 {
 	char arg[PATH_MAX];
 	int len;
-	struct packed_git *g;
+	struct packed_git *pack;
+	int err;
 
 	len = strlcpy(arg, path, PATH_MAX);
 	if (len >= PATH_MAX)
@@ -25,10 +26,14 @@ static int verify_one_pack(const char *path, int verbose)
 		len += 4;
 	}
 
-	if (!(g = add_packed_git(arg, len, 1)))
+	pack = add_packed_git(arg, len, 1);
+	if (!pack)
 		return error("packfile %s not found.", arg);
 
-	return verify_pack(g, verbose);
+	err = verify_pack(pack, verbose);
+	free(pack);
+
+	return err;
 }
 
 static const char verify_pack_usage[] = "git-verify-pack [-v] <pack>...";