diff mbox series

[v2,5/5] ls-remote: leakfix for not clearing server_options

Message ID 39c07a6c8eed645e22ae55affd015ee55ec59571.1727093878.git.gitgitgadget@gmail.com (mailing list archive)
State Superseded
Headers show
Series Support server option from configuration | expand

Commit Message

Xing Xin Sept. 23, 2024, 12:17 p.m. UTC
From: Xing Xin <xingxin.xx@bytedance.com>

Ensure `server_options` is properly cleared using `string_list_clear()`
in `builtin/ls-remote.c:cmd_ls_remote`.

Although we cannot yet enable `TEST_PASSES_SANITIZE_LEAK=true` for
`t/t5702-protocol-v2.sh` due to other existing leaks, this fix ensures
that "git-ls-remote" related server options tests pass the sanitize leak
check:

  ...
  ok 12 - server-options are sent when using ls-remote
  ok 13 - server-options from configuration are used by ls-remote
  ...

Signed-off-by: Xing Xin <xingxin.xx@bytedance.com>
---
 builtin/ls-remote.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Patrick Steinhardt Oct. 7, 2024, 8:22 a.m. UTC | #1
On Mon, Sep 23, 2024 at 12:17:58PM +0000, Xing Xin via GitGitGadget wrote:
> From: Xing Xin <xingxin.xx@bytedance.com>
> 
> Ensure `server_options` is properly cleared using `string_list_clear()`
> in `builtin/ls-remote.c:cmd_ls_remote`.
> 
> Although we cannot yet enable `TEST_PASSES_SANITIZE_LEAK=true` for
> `t/t5702-protocol-v2.sh` due to other existing leaks, this fix ensures
> that "git-ls-remote" related server options tests pass the sanitize leak
> check:
> 
>   ...
>   ok 12 - server-options are sent when using ls-remote
>   ok 13 - server-options from configuration are used by ls-remote
>   ...
> 
> Signed-off-by: Xing Xin <xingxin.xx@bytedance.com>
> ---
>  builtin/ls-remote.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/builtin/ls-remote.c b/builtin/ls-remote.c
> index 0a491595ca8..c3fdda08409 100644
> --- a/builtin/ls-remote.c
> +++ b/builtin/ls-remote.c
> @@ -169,5 +169,6 @@ int cmd_ls_remote(int argc, const char **argv, const char *prefix)
>  	transport_ls_refs_options_release(&transport_options);
>  
>  	strvec_clear(&pattern);
> +	string_list_clear(&server_options, 0);
>  	return status;
>  }

Indeed. I've also got a patch for this pending as part of my memory leak
series, but didn't yet send it out. So I'm happy when this lands
independently so that I have to carry one patch less.

Patrick
diff mbox series

Patch

diff --git a/builtin/ls-remote.c b/builtin/ls-remote.c
index 0a491595ca8..c3fdda08409 100644
--- a/builtin/ls-remote.c
+++ b/builtin/ls-remote.c
@@ -169,5 +169,6 @@  int cmd_ls_remote(int argc, const char **argv, const char *prefix)
 	transport_ls_refs_options_release(&transport_options);
 
 	strvec_clear(&pattern);
+	string_list_clear(&server_options, 0);
 	return status;
 }