aboutsummaryrefslogtreecommitdiffstats
path: root/builtin/sparse-checkout.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2024-06-04 06:13:05 -0400
committerJunio C Hamano <gitster@pobox.com>2024-06-04 10:38:22 -0700
commit2181fe6e464c4a2615db0df1189d1e6fb0575631 (patch)
treed03b99bbc137b33d59b722e2b90f94b0ded37ad8 /builtin/sparse-checkout.c
parentMerge branch 'jk/leakfixes' into jk/sparse-leakfix (diff)
downloadgit-2181fe6e464c4a2615db0df1189d1e6fb0575631.tar.gz
git-2181fe6e464c4a2615db0df1189d1e6fb0575631.zip
sparse-checkout: free string list in write_cone_to_file()
We use a string list to hold sorted and de-duped patterns, but don't free it before leaving the function, causing a leak. This drops the number of leaks found in t7002 from 27 to 25. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/sparse-checkout.c')
-rw-r--r--builtin/sparse-checkout.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c
index 0f52e25249..8747191484 100644
--- a/builtin/sparse-checkout.c
+++ b/builtin/sparse-checkout.c
@@ -311,6 +311,8 @@ static void write_cone_to_file(FILE *fp, struct pattern_list *pl)
fprintf(fp, "%s/\n", pattern);
free(pattern);
}
+
+ string_list_clear(&sl, 0);
}
static int write_patterns_and_update(struct pattern_list *pl)