diff options
| author | Patrick Steinhardt <ps@pks.im> | 2024-09-26 13:46:59 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-09-27 08:25:37 -0700 |
| commit | 84e9fc361dca294629ef0b1e4e2eea815fc5b522 (patch) | |
| tree | 3ec1243df76f4c8eb74cfe0d14fb435f6660d7e3 /builtin/gc.c | |
| parent | 355b3190ee208594ab122eace8a20f17d668e21c (diff) | |
| download | git-84e9fc361dca294629ef0b1e4e2eea815fc5b522.tar.gz | |
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 <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/gc.c')
| -rw-r--r-- | builtin/gc.c | 4 |
1 files 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")) { |
