Message ID | bb0d656a0b40b79c90dc2505239976a93f18f432.1698314128.git.ps@pks.im (mailing list archive) |
---|---|
State | Accepted |
Commit | dbabd0b023b6a65267fd57ed04ecd47ac34b5ae5 |
Headers | show |
Series | show-ref: introduce mode to check for ref existence | expand |
On Thu, Oct 26, 2023 at 11:56:29AM +0200, Patrick Steinhardt wrote: > Fix a leaking string buffer in `git show-ref --exclude-existing`. While > the buffer is technically not leaking because its variable is declared > as static, there is no inherent reason why it should be. Well spotted and fixed. I ran the test suite in GIT_TEST_PASSING_SANITIZE_LEAK's "check" mode and didn't find anything that was made leak-free by this patch not already marked as such. So this (and the rest of the series up to this point) LGTM. Thanks, Taylor
diff --git a/builtin/show-ref.c b/builtin/show-ref.c index cad5b8b5066..e55c38af478 100644 --- a/builtin/show-ref.c +++ b/builtin/show-ref.c @@ -106,7 +106,7 @@ static int add_existing(const char *refname, */ static int cmd_show_ref__exclude_existing(const char *match) { - static struct string_list existing_refs = STRING_LIST_INIT_DUP; + struct string_list existing_refs = STRING_LIST_INIT_DUP; char buf[1024]; int matchlen = match ? strlen(match) : 0; @@ -139,6 +139,8 @@ static int cmd_show_ref__exclude_existing(const char *match) printf("%s\n", buf); } } + + string_list_clear(&existing_refs, 0); return 0; }
Fix a leaking string buffer in `git show-ref --exclude-existing`. While the buffer is technically not leaking because its variable is declared as static, there is no inherent reason why it should be. Signed-off-by: Patrick Steinhardt <ps@pks.im> --- builtin/show-ref.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)