summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTay Ray Chuan <rctay89@gmail.com>2010-03-02 10:49:28 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-03-02 19:10:36 (GMT)
commit09ae9aca14750f00c9e25fd16cdf60819fb410a8 (patch)
tree91d346680038b6299d7093b8113ffb807fff2af1
parentb5e59989eb20a8d6257760605052fe1d3fefca88 (diff)
downloadgit-09ae9aca14750f00c9e25fd16cdf60819fb410a8.zip
git-09ae9aca14750f00c9e25fd16cdf60819fb410a8.tar.gz
git-09ae9aca14750f00c9e25fd16cdf60819fb410a8.tar.bz2
http-walker: cleanup more thoroughly
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--http-walker.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/http-walker.c b/http-walker.c
index 700bc13..508e355 100644
--- a/http-walker.c
+++ b/http-walker.c
@@ -543,6 +543,23 @@ static int fetch_ref(struct walker *walker, struct ref *ref)
static void cleanup(struct walker *walker)
{
+ struct walker_data *data = walker->data;
+ struct alt_base *alt, *alt_next;
+
+ if (data) {
+ alt = data->alt;
+ while (alt) {
+ alt_next = alt->next;
+
+ free(alt->base);
+ free(alt);
+
+ alt = alt_next;
+ }
+ free(data);
+ walker->data = NULL;
+ }
+
http_cleanup();
}