From: Derrick Stolee Date: Mon, 8 Oct 2018 15:17:03 +0000 (-0700) Subject: midx: fix broken free() in close_midx() X-Git-Tag: v2.20.0-rc0~53^2~3 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/0ce4ff942125eabed3df694dc27922bec8177624?ds=sidebyside midx: fix broken free() in close_midx() When closing a multi-pack-index, we intend to close each pack-file and free the struct packed_git that represents it. However, this line was previously freeing the array of pointers, not the pointer itself. This leads to a double-free issue. Signed-off-by: Derrick Stolee Signed-off-by: Junio C Hamano --- diff --git a/midx.c b/midx.c index f3e8dbc108..999717b96f 100644 --- a/midx.c +++ b/midx.c @@ -190,7 +190,7 @@ static void close_midx(struct multi_pack_index *m) for (i = 0; i < m->num_packs; i++) { if (m->packs[i]) { close_pack(m->packs[i]); - free(m->packs); + free(m->packs[i]); } } FREE_AND_NULL(m->packs);