summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/revwalk.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/revwalk.c b/src/revwalk.c
index edafbe73d..d17b44053 100644
--- a/src/revwalk.c
+++ b/src/revwalk.c
@@ -78,13 +78,17 @@ commit_list *commit_list_insert(commit_object *item, commit_list **list_p)
return new_list;
}
-void commit_list_free(commit_list *list)
+void commit_list_free(commit_list **list_p)
{
+ commit_list *list = *list_p;
+
while (list) {
commit_list *temp = list;
list = temp->next;
free(temp);
}
+
+ *list_p = NULL;
}
commit_object *commit_list_pop(commit_list **stack)
@@ -561,9 +565,9 @@ void git_revwalk_reset(git_revwalk *walk)
);
git_pqueue_free(&walk->iterator_time);
- commit_list_free(walk->iterator_topo);
- commit_list_free(walk->iterator_rand);
- commit_list_free(walk->iterator_reverse);
+ commit_list_free(&walk->iterator_topo);
+ commit_list_free(&walk->iterator_rand);
+ commit_list_free(&walk->iterator_reverse);
walk->walking = 0;
}