diff options
Diffstat (limited to 'negotiator/skipping.c')
| -rw-r--r-- | negotiator/skipping.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/negotiator/skipping.c b/negotiator/skipping.c index 6e61b3c5f1..abedb70a48 100644 --- a/negotiator/skipping.c +++ b/negotiator/skipping.c @@ -247,8 +247,11 @@ static int ack(struct fetch_negotiator *n, struct commit *c) static void release(struct fetch_negotiator *n) { - clear_prio_queue(&((struct data *)n->data)->rev_list); - FREE_AND_NULL(n->data); + struct data *data = n->data; + for (int i = 0; i < data->rev_list.nr; i++) + free(data->rev_list.array[i].data); + clear_prio_queue(&data->rev_list); + FREE_AND_NULL(data); } void skipping_negotiator_init(struct fetch_negotiator *negotiator) |
