]> git.ipfire.org Git - thirdparty/git.git/commitdiff
gc: fix a memory leak
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Fri, 1 Jul 2022 10:42:58 +0000 (12:42 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 1 Jul 2022 18:43:43 +0000 (11:43 -0700)
Fix a memory leak in code added in 41abfe15d95 (maintenance: add
pack-refs task, 2021-02-09), we need to call strvec_clear() on the
"struct strvec" that we initialized.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/gc.c

index 021e9256ae23561007b1178b3de99341f6c72357..eeff2b760e0cc58978618c791a195df0bca6627b 100644 (file)
@@ -168,9 +168,15 @@ struct maintenance_run_opts;
 static int maintenance_task_pack_refs(MAYBE_UNUSED struct maintenance_run_opts *opts)
 {
        struct strvec pack_refs_cmd = STRVEC_INIT;
+       int ret;
+
        strvec_pushl(&pack_refs_cmd, "pack-refs", "--all", "--prune", NULL);
 
-       return run_command_v_opt(pack_refs_cmd.v, RUN_GIT_CMD);
+       ret = run_command_v_opt(pack_refs_cmd.v, RUN_GIT_CMD);
+
+       strvec_clear(&pack_refs_cmd);
+
+       return ret;
 }
 
 static int too_many_loose_objects(void)