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>
maint
Patrick Steinhardt 2024-09-26 13:46:59 +02:00 committed by Junio C Hamano
parent 355b3190ee
commit 84e9fc361d
1 changed files with 2 additions and 2 deletions

View File

@ -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")) {