builtin/repack: fix leaking line buffer when packing promisors

In `repack_promisor_objects()` we read output from git-pack-objects(1)
line by line, using `strbuf_getline_lf()`. We never free the line
buffer, causing a memory leak. Plug it.

This leak is being hit in t5616, but plugging it alone is not
sufficient to make the whole test suite leak free.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Patrick Steinhardt 2024-09-05 12:09:23 +02:00 committed by Junio C Hamano
parent a46f231975
commit 860b678016
1 changed files with 2 additions and 0 deletions

View File

@ -425,9 +425,11 @@ static void repack_promisor_objects(const struct pack_objects_args *args,

free(promisor_name);
}

fclose(out);
if (finish_command(&cmd))
die(_("could not finish pack-objects to repack promisor objects"));
strbuf_release(&line);
}

struct pack_geometry {