diff --git a/http-walker.c b/http-walker.c index 700bc13112..508e35517c 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(); }