From: Patrick Steinhardt Date: Thu, 5 Sep 2024 10:09:23 +0000 (+0200) Subject: builtin/repack: fix leaking line buffer when packing promisors X-Git-Tag: v2.47.0-rc0~28^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=860b6780163ade3bb705d6565619ec13efcc77c6;p=thirdparty%2Fgit.git 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 Signed-off-by: Junio C Hamano --- diff --git a/builtin/repack.c b/builtin/repack.c index 62cfa50c50..2b9bf0318a 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 {