[PATCH v2 20/23] builtin/maintenance: fix leaking config string
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Sep 26, 2024, 11:46 UTC
- Message-ID
- <0a72fc83f797d0f0f753e54b8473740a041702ae.1727351062.git.ps@pks.im>
- In-Reply-To
- <cover.1727351062.git.ps@pks.im>
When parsing the maintenance strategy from config we allocate a config string, but do not free it after parsing it. Plug this leak by instead using `git_config_get_string_tmp()`, which does not allocate any memory.
This leak is exposed by t7900, but plugging it alone does not make the test suite pass.
Signed-off-by: Patrick Steinhardt <ps@pks.im> --- builtin/gc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/builtin/gc.c b/builtin/gc.c index 7dac971405..3acfa367ad 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -1476,9 +1476,9 @@ static int maintenance_run_tasks(struct maintenance_run_opts *opts, static void initialize_maintenance_strategy(void) { - char *config_str; + const char *config_str; - if (git_config_get_string("maintenance.strategy", &config_str)) + if (git_config_get_string_tmp("maintenance.strategy", &config_str)) return; if (!strcasecmp(config_str, "incremental")) {
-- 2.46.2.852.g229c0bf0e5.dirty