]> git.ipfire.org Git - thirdparty/git.git/commit
dir: release untracked cache data
authorPatrick Steinhardt <ps@pks.im>
Tue, 5 Nov 2024 06:17:35 +0000 (07:17 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 5 Nov 2024 06:37:55 +0000 (22:37 -0800)
commite4ba54d47b675e0613a2644f37c0b4f57a833a44
tree47fd7f71c741723ec65e676eedff246cecba5681
parent1981d1eb3ecdefd2cdc665184d366728721f76e5
dir: release untracked cache data

There are several cases where we invalidate untracked cache directory
entries where we do not free the underlying data, but reset the number
of entries. This causes us to leak memory because `free_untracked()`
will not iterate over any potential entries which we still had in the
array.

Fix this issue by freeing old entries. The leak is exposed by t7519, but
plugging it alone does not make the whole test suite pass.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
dir.c