From: Patrick Steinhardt Date: Thu, 26 Sep 2024 11:46:59 +0000 (+0200) Subject: builtin/maintenance: fix leaking config string X-Git-Tag: v2.47.0-rc1~3^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=84e9fc361dca294629ef0b1e4e2eea815fc5b522;p=thirdparty%2Fgit.git builtin/maintenance: fix leaking config string 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 Signed-off-by: Junio C Hamano --- 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")) {