diff: plug leaks in dirstat
commit83973981eb475ce90f829f8a5bd6ea99cd3bbd8e
authorJunio C Hamano <gitster@pobox.com>
Fri, 5 May 2023 21:19:17 +0000 (5 14:19 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 5 May 2023 21:24:09 +0000 (5 14:24 -0700)
tree14075bd5776ca46ea026647867272be0618d62ce
parent34a94897e02fda653cf0c71edc2d5df207855160
diff: plug leaks in dirstat

The array of dirstat_file contained in the dirstat_dir structure is
not freed after the processing ends.  Unfortunately, the member that
points at the array, .files, is incremented as the gather_dirstat()
function recursively walks it, and this needs to be plugged by
remembering the beginning of the array before gather_dirstat() mucks
with it and freeing it after we are done.

We can mark t4047 as leak-free.  t4000, which is marked as
leak-free, now can exercise dirstat in it, which will happen next.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
t/t4047-diff-dirstat.sh