[PATCH v2 16/22] builtin/repack: fix leaking line buffer when packing promisors
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Sep 5, 2024, 10:09 UTC
- Message-ID
- <78c1e5e1772d8920859588c4eaf67faab0b5730e.1725530720.git.ps@pks.im>
- In-Reply-To
- <cover.1725530720.git.ps@pks.im>
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> --- builtin/repack.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/builtin/repack.c b/builtin/repack.c index 8bb875532b4..a382754feee 100644 --- a/builtin/repack.c +++ b/builtin/repack.c @@ -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 {
-- 2.46.0.519.g2e7b89e038.dirty