mirror of
https://github.com/git/git.git
synced 2024-11-23 09:56:28 +08:00
negotiator/skipping: fix leaking commit entries
When releasing the skipping negotiator we free its priority queue, but not the contained entries. Fix this to plug a memory leak. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
16c6fb5a94
commit
a46f231975
@ -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)
|
||||
|
@ -1,6 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
test_description='test skipping fetch negotiator'
|
||||
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success 'fetch.negotiationalgorithm config' '
|
||||
|
Loading…
Reference in New Issue
Block a user