Commit 36b31329 by Vicent Marti

Properly free commit a commit list in revwalk

The commit list was not being properly free'd when a walk was stopped
halfway through.
parent f73b09cd
...@@ -78,13 +78,17 @@ commit_list *commit_list_insert(commit_object *item, commit_list **list_p) ...@@ -78,13 +78,17 @@ commit_list *commit_list_insert(commit_object *item, commit_list **list_p)
return new_list; 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) { while (list) {
commit_list *temp = list; commit_list *temp = list;
list = temp->next; list = temp->next;
free(temp); free(temp);
} }
*list_p = NULL;
} }
commit_object *commit_list_pop(commit_list **stack) commit_object *commit_list_pop(commit_list **stack)
...@@ -561,9 +565,9 @@ void git_revwalk_reset(git_revwalk *walk) ...@@ -561,9 +565,9 @@ void git_revwalk_reset(git_revwalk *walk)
); );
git_pqueue_free(&walk->iterator_time); git_pqueue_free(&walk->iterator_time);
commit_list_free(walk->iterator_topo); commit_list_free(&walk->iterator_topo);
commit_list_free(walk->iterator_rand); commit_list_free(&walk->iterator_rand);
commit_list_free(walk->iterator_reverse); commit_list_free(&walk->iterator_reverse);
walk->walking = 0; walk->walking = 0;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment