Properly free commit a commit list in revwalk

The commit list was not being properly free'd when a walk was stopped
halfway through.
This commit is contained in:
Vicent Marti 2011-03-16 01:04:17 +02:00
parent f73b09cd9a
commit 36b3132966

View File

@ -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;
}