bundle: plug leaks in `create_bundle()`
commit11ee9a75e7d6f149431f69400c81006f8ccecad5
authorPatrick Steinhardt <ps@pks.im>
Tue, 11 Jun 2024 09:19:31 +0000 (11 11:19 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 11 Jun 2024 20:15:05 +0000 (11 13:15 -0700)
tree4f68bf6d6779a8f94d77b75bbd39cf1bcc5b40f3
parentbb8c43d5cd9648f868e11e462392a38a43354692
bundle: plug leaks in `create_bundle()`

When creating a bundle, we set up a revision walk, but never release
data associated with it. Furthermore, we create a mostly-shallow copy of
that revision walk where we only adapt its pending objects such that we
can reuse the walk. While that copy must not be released, the pending
objects array need to be.

Plug those memory leaks by releasing the revision walk and the pending
objects of the copied revision walk.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
bundle.c
t/t5605-clone-local.sh
t/t5607-clone-bundle.sh
t/t6020-bundle-misc.sh