git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Glen Choo <chooglen@google.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>, git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
	"Atharva Raykar" <raykar.ath@gmail.com>,
	"Prathamesh Chavan" <pc44800@gmail.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: Re: [PATCH v6 16/17] submodule--helper: free rest of "displaypath" in "struct update_data"
Date: Wed, 24 Aug 2022 16:03:55 -0700	[thread overview]
Message-ID: <kl6l35dl452c.fsf@chooglen-macbookpro.roam.corp.google.com> (raw)
In-Reply-To: <patch-v6-16.17-a99a7736fab-20220821T130415Z-avarab@gmail.com>

Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:

> Fix a leak in code added in c51f8f94e5b (submodule--helper: run update
> procedures from C, 2021-08-24), we clobber the "displaypath" member of
> the passed-in "struct update_data" both so that die() messages in this
> update_submodule() function itself can use it, and for the
> run_update_procedure() called within this function.
>
> To make managing that clobbering easier let's wrap the
> update_submodule() in a new update_submodule_outer() function, which
> will do the clobbering and free(to_free) dance for us.

The only feedback I had on v5 was on this patch
(https://lore.kernel.org/git/kl6l5yj7ubpt.fsf@chooglen-macbookpro.roam.corp.google.com)
where I said that update_submodule_outer() seemed like overkill and that
I'd test an alternative.

I tested this approach

  Assign and FREE_AND_NULL() update_data->displaypath [in
  update_submodules(), but outside of update_submodule()] since this
  is the only caller and it already does some prep work in this hunk.

by reverting this patch and applying this one

----- >8 --------- >8 --------- >8 --------- >8 --------- >8 ----
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 3557665261..c932c857dd 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -2486,9 +2486,6 @@ static int update_submodule(struct update_data *update_data)
 	if (ret)
 		return ret;
 
-	update_data->displaypath = get_submodule_displaypath(
-		update_data->sm_path, update_data->prefix);
-
 	ret = determine_submodule_update_strategy(the_repository,
 						  update_data->just_cloned,
 						  update_data->sm_path,
@@ -2593,8 +2590,11 @@ static int update_submodules(struct update_data *update_data)
 		oidcpy(&update_data->oid, &ucd.oid);
 		update_data->just_cloned = ucd.just_cloned;
 		update_data->sm_path = ucd.sub->path;
+		update_data->displaypath = get_submodule_displaypath(
+			update_data->sm_path, update_data->prefix);
 
 		code = update_submodule(update_data);
+		FREE_AND_NULL(update_data->displaypath);
 		if (!code)
 			continue;
 		ret = code;
----- >8 --------- >8 --------- >8 --------- >8 --------- >8 ----

Then I tested the update_submodule_outer() version and the
FREE_AND_NULL() version by marking t7406-submodule-update.sh as
TEST_PASSES_SANITIZE_LEAK=true and diffing the test output. I didn't see
any meaningful difference in the test output, which should mean that
both versions fix all of the leaks in "git submodule update" that our
test suite can catch.

For good measure, I also tested a version of my code without the
FREE_AND_NULL() call (albeit on v5, not v6), and I spotted the expected
memory leak:

  Direct leak of 10 byte(s) in 1 object(s) allocated from:
      #0 0x000000000000 in __interceptor_malloc ../../../../src/libsanitizer/lsan/lsan_interceptors.cpp:54
      #1 0x000000000000 in strdup (/lib/x86_64-linux-gnu/libc.so.6+0x000000000000)
      #2 0x000000000000 in xstrdup wrapper.c:39
      #3 0x000000000000 in get_submodule_displaypath builtin/submodule--helper.c:119
      #4 0x000000000000 in update_submodules builtin/submodule--helper.c:2585
      #5 0x000000000000 in module_update builtin/submodule--helper.c:2716
      #6 0x000000000000 in run_builtin git.c:466
      #7 0x000000000000 in handle_builtin git.c:720
      #8 0x000000000000 in run_argv git.c:787
      #9 0x000000000000 in cmd_main git.c:920
      #10 0x000000000000 in main common-main.c:56
      #11 0x000000000000 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x000000000000)
      #12 0x000000000000 in _start (git+0x000000000000)

The CI runs are at: 
- FREE_AND_NULL(): https://github.com/chooglen/git/actions/runs/2920894120
- update_submodule_outer(): https://github.com/chooglen/git/actions/runs/2915661611
- control study: https://github.com/chooglen/git/actions/runs/2915671776

If FREE_AND_NULL() really plugs all of the leaks, I would strongly
prefer using that (possibly in a "goto cleanup"), over introducing
update_submodule_outer().

  reply	other threads:[~2022-08-24 23:04 UTC|newest]

Thread overview: 186+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-13 13:16 [PATCH 00/11] submodule--helper: fix memory leaks Ævar Arnfjörð Bjarmason
2022-07-13 13:16 ` [PATCH 01/11] submodule.c: free() memory from xgetcwd() Ævar Arnfjörð Bjarmason
2022-07-13 13:16 ` [PATCH 02/11] submodule--helper: replace memset() with { 0 }-initialization Ævar Arnfjörð Bjarmason
2022-07-13 21:00   ` Glen Choo
2022-07-13 21:19     ` Junio C Hamano
2022-07-13 22:41       ` Glen Choo
2022-07-14 10:25         ` Ævar Arnfjörð Bjarmason
2022-07-14 17:19           ` Junio C Hamano
2022-07-15  0:17           ` Glen Choo
2022-07-13 13:16 ` [PATCH 03/11] submodule--helper: fix "module_clone_data" memory leaks Ævar Arnfjörð Bjarmason
2022-07-13 17:37   ` Glen Choo
2022-07-13 18:05     ` Glen Choo
2022-07-13 20:30       ` Ævar Arnfjörð Bjarmason
2022-07-13 23:04         ` Glen Choo
2022-07-14  0:06           ` Ævar Arnfjörð Bjarmason
2022-07-13 13:16 ` [PATCH 04/11] submodule--helper: fix "struct pathspec" " Ævar Arnfjörð Bjarmason
2022-07-13 13:16 ` [PATCH 05/11] submodule--helper: free() leaking {run,capture}_command() argument Ævar Arnfjörð Bjarmason
2022-07-14  3:36   ` Glen Choo
2022-07-14 14:43     ` Ævar Arnfjörð Bjarmason
2022-07-13 13:16 ` [PATCH 06/11] submodule--helper: add and use *_release() functions Ævar Arnfjörð Bjarmason
2022-07-14 18:11   ` Glen Choo
2022-07-13 13:16 ` [PATCH 07/11] submodule--helper: fix "errmsg_str" memory leak Ævar Arnfjörð Bjarmason
2022-07-14 18:20   ` Glen Choo
2022-07-13 13:16 ` [PATCH 08/11] submodule--helper: fix "sm_path" and other "module_cb_list" leaks Ævar Arnfjörð Bjarmason
2022-07-13 13:16 ` [PATCH 09/11] submodule--helper: free "char *" in "struct update_data" Ævar Arnfjörð Bjarmason
2022-07-14 18:33   ` Glen Choo
2022-07-18 16:10     ` Ævar Arnfjörð Bjarmason
2022-07-13 13:16 ` [PATCH 10/11] submodule--helper: fix a leak with repo_clear() Ævar Arnfjörð Bjarmason
2022-07-13 13:16 ` [PATCH 11/11] submodule--helper: fix "reference" leak is "module_clone_data" Ævar Arnfjörð Bjarmason
2022-07-14 18:42   ` Glen Choo
2022-07-19 20:46 ` [PATCH v2 00/24] submodule--helper: fix memory leaks Ævar Arnfjörð Bjarmason
2022-07-19 20:46   ` [PATCH v2 01/24] submodule--helper: replace memset() with { 0 }-initialization Ævar Arnfjörð Bjarmason
2022-07-19 21:21     ` Junio C Hamano
2022-07-19 20:46   ` [PATCH v2 02/24] submodule--helper: fix a leak in "clone_submodule" Ævar Arnfjörð Bjarmason
2022-07-19 21:31     ` Junio C Hamano
2022-07-19 20:46   ` [PATCH v2 03/24] submodule--helper: fix trivial get_default_remote_submodule() leak Ævar Arnfjörð Bjarmason
2022-07-19 20:46   ` [PATCH v2 04/24] submodule--helper: fix most "struct pathspec" memory leaks Ævar Arnfjörð Bjarmason
2022-07-20 16:33     ` Junio C Hamano
2022-07-21 17:49     ` Glen Choo
2022-07-19 20:46   ` [PATCH v2 05/24] submodule--helper: "struct pathspec" memory leak in module_update() Ævar Arnfjörð Bjarmason
2022-07-20 16:43     ` Junio C Hamano
2022-07-21 19:54     ` Glen Choo
2022-07-19 20:46   ` [PATCH v2 06/24] submodule--helper: don't leak {run,capture}_command() cp.dir argument Ævar Arnfjörð Bjarmason
2022-07-19 20:46   ` [PATCH v2 07/24] submodule--helper: add "const" to copy of "update_data" Ævar Arnfjörð Bjarmason
2022-07-19 20:46   ` [PATCH v2 08/24] submodule--helper: add and use *_release() functions Ævar Arnfjörð Bjarmason
2022-07-20 17:06     ` Junio C Hamano
2022-07-21 17:44       ` Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 09/24] submodule--helper: refactor "errmsg_str" to be a "struct strbuf" Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 10/24] submodule--helper: fix "errmsg_str" memory leak Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 11/24] submodule--helper: fix "sm_path" and other "module_cb_list" leaks Ævar Arnfjörð Bjarmason
2022-07-20 22:35     ` Junio C Hamano
2022-07-19 20:47   ` [PATCH v2 12/24] submodule--helper: fix a leak with repo_clear() Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 13/24] submodule--helper: fix a memory leak in get_default_remote_submodule() Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 14/24] submodule--helper: fix "reference" leak is "module_clone_data" Ævar Arnfjörð Bjarmason
2022-07-21  0:50     ` Junio C Hamano
2022-07-19 20:47   ` [PATCH v2 15/24] submodule--helper: fix obscure leak in module_add() Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 16/24] submodule--helper: fix a " Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 17/24] submodule--helper: fix a memory leak in print_status() Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 18/24] submodule--helper: free some "displaypath" in "struct update_data" Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 19/24] submodule--helper: rename "int res" to "int ret" Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 20/24] submodule--helper: add skeleton "goto cleanup" to update_submodule() Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 21/24] submodule--helper: don't exit() on failure, return Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 22/24] submodule--helper: free rest of "displaypath" in "struct update_data" Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 23/24] submodule--helper: fix bad config API usage Ævar Arnfjörð Bjarmason
2022-07-19 20:47   ` [PATCH v2 24/24] submodule--helper: fix a configure_added_submodule() leak Ævar Arnfjörð Bjarmason
2022-07-21 19:12   ` [PATCH v3 00/26] submodule--helper: fix memory leaks Ævar Arnfjörð Bjarmason
2022-07-21 19:12     ` [PATCH v3 01/26] submodule--helper: replace memset() with { 0 }-initialization Ævar Arnfjörð Bjarmason
2022-07-21 19:12     ` [PATCH v3 02/26] submodule--helper: stop conflating "sb" in clone_submodule() Ævar Arnfjörð Bjarmason
2022-07-21 21:16       ` Junio C Hamano
2022-07-22 13:50         ` Ævar Arnfjörð Bjarmason
2022-07-22 16:48           ` Glen Choo
2022-07-22 18:47           ` Junio C Hamano
2022-07-28 16:30             ` Ævar Arnfjörð Bjarmason
2022-07-21 19:12     ` [PATCH v3 03/26] submodule--helper: pass a "const struct module_clone_data" to clone_submodule() Ævar Arnfjörð Bjarmason
2022-07-21 21:26       ` Junio C Hamano
2022-07-25 17:07       ` Glen Choo
2022-07-21 19:13     ` [PATCH v3 04/26] submodule--helper: fix a leak in "clone_submodule" Ævar Arnfjörð Bjarmason
2022-07-21 21:30       ` Junio C Hamano
2022-07-22 11:30         ` Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 05/26] submodule--helper: fix trivial get_default_remote_submodule() leak Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 06/26] submodule--helper: fix most "struct pathspec" memory leaks Ævar Arnfjörð Bjarmason
2022-07-21 21:37       ` Junio C Hamano
2022-07-21 19:13     ` [PATCH v3 07/26] submodule--helper: "struct pathspec" memory leak in module_update() Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 08/26] submodule--helper: don't leak {run,capture}_command() cp.dir argument Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 09/26] submodule--helper: add "const" to copy of "update_data" Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 10/26] submodule--helper: add and use *_release() functions Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 11/26] submodule--helper: refactor "errmsg_str" to be a "struct strbuf" Ævar Arnfjörð Bjarmason
2022-07-25 23:15       ` Glen Choo
2022-07-21 19:13     ` [PATCH v3 12/26] submodule--helper: fix "errmsg_str" memory leak Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 13/26] submodule--helper: fix "sm_path" and other "module_cb_list" leaks Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 14/26] submodule--helper: fix a leak with repo_clear() Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 15/26] submodule--helper: fix a memory leak in get_default_remote_submodule() Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 16/26] submodule--helper: fix "reference" leak is "module_clone_data" Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 17/26] submodule--helper: fix obscure leak in module_add() Ævar Arnfjörð Bjarmason
2022-07-21 21:45       ` Junio C Hamano
2022-07-21 19:13     ` [PATCH v3 18/26] submodule--helper: fix a " Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 19/26] submodule--helper: fix a memory leak in print_status() Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 20/26] submodule--helper: free some "displaypath" in "struct update_data" Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 21/26] submodule--helper: rename "int res" to "int ret" Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 22/26] submodule--helper: add skeleton "goto cleanup" to update_submodule() Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 23/26] submodule--helper: don't exit() on failure, return Ævar Arnfjörð Bjarmason
2022-07-25 23:57       ` Glen Choo
2022-07-21 19:13     ` [PATCH v3 24/26] submodule--helper: free rest of "displaypath" in "struct update_data" Ævar Arnfjörð Bjarmason
2022-07-26  1:06       ` Glen Choo
2022-07-21 19:13     ` [PATCH v3 25/26] submodule--helper: fix bad config API usage Ævar Arnfjörð Bjarmason
2022-07-21 19:13     ` [PATCH v3 26/26] submodule--helper: fix a configure_added_submodule() leak Ævar Arnfjörð Bjarmason
2022-07-21 21:51       ` Junio C Hamano
2022-07-28 16:29     ` [PATCH v4 00/17] submodule--helper: (only) fix memory leaks Ævar Arnfjörð Bjarmason
2022-07-28 16:29       ` [PATCH v4 01/17] submodule--helper: fix a leak in "clone_submodule" Ævar Arnfjörð Bjarmason
2022-07-28 16:29       ` [PATCH v4 02/17] submodule--helper: fix trivial get_default_remote_submodule() leak Ævar Arnfjörð Bjarmason
2022-07-28 16:29       ` [PATCH v4 03/17] submodule--helper: fix most "struct pathspec" memory leaks Ævar Arnfjörð Bjarmason
2022-07-28 16:29       ` [PATCH v4 04/17] submodule--helper: "struct pathspec" memory leak in module_update() Ævar Arnfjörð Bjarmason
2022-07-28 16:29       ` [PATCH v4 05/17] submodule--helper: don't leak {run,capture}_command() cp.dir argument Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 06/17] submodule--helper: add and use *_release() functions Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 07/17] submodule--helper: fix "errmsg_str" memory leak Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 08/17] submodule--helper: fix "sm_path" and other "module_cb_list" leaks Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 09/17] submodule--helper: fix a leak with repo_clear() Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 10/17] submodule--helper: fix a memory leak in get_default_remote_submodule() Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 11/17] submodule--helper: fix "reference" leak Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 12/17] submodule--helper: fix obscure leak in module_add() Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 13/17] submodule--helper: fix a " Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 14/17] submodule--helper: fix a memory leak in print_status() Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 15/17] submodule--helper: free some "displaypath" in "struct update_data" Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 16/17] submodule--helper: free rest of " Ævar Arnfjörð Bjarmason
2022-07-28 16:30       ` [PATCH v4 17/17] submodule--helper: fix a configure_added_submodule() leak Ævar Arnfjörð Bjarmason
2022-08-02 15:54       ` [PATCH v5 00/17] submodule--helper: fix memory leaks Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 01/17] submodule--helper: fix a leak in "clone_submodule" Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 02/17] submodule--helper: fix trivial get_default_remote_submodule() leak Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 03/17] submodule--helper: fix most "struct pathspec" memory leaks Ævar Arnfjörð Bjarmason
2022-08-03 22:59           ` Glen Choo
2022-08-04  7:04             ` Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 04/17] submodule--helper: "struct pathspec" memory leak in module_update() Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 05/17] submodule--helper: don't leak {run,capture}_command() cp.dir argument Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 06/17] submodule--helper: add and use *_release() functions Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 07/17] submodule--helper: fix "errmsg_str" memory leak Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 08/17] submodule--helper: fix "sm_path" and other "module_cb_list" leaks Ævar Arnfjörð Bjarmason
2022-08-03 23:10           ` Glen Choo
2022-08-02 15:54         ` [PATCH v5 09/17] submodule--helper: fix a leak with repo_clear() Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 10/17] submodule--helper: fix a memory leak in get_default_remote_submodule() Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 11/17] submodule--helper: fix "reference" leak Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 12/17] submodule--helper: fix obscure leak in module_add() Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 13/17] submodule--helper: fix a " Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 14/17] submodule--helper: fix a memory leak in print_status() Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 15/17] submodule--helper: free some "displaypath" in "struct update_data" Ævar Arnfjörð Bjarmason
2022-08-02 15:54         ` [PATCH v5 16/17] submodule--helper: free rest of " Ævar Arnfjörð Bjarmason
2022-08-04 18:04           ` Glen Choo
2022-08-02 15:54         ` [PATCH v5 17/17] submodule--helper: fix a configure_added_submodule() leak Ævar Arnfjörð Bjarmason
2022-08-21 13:59         ` [PATCH v6 00/17] submodule--helper: fix memory leaks Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 01/17] submodule--helper: fix a leak in "clone_submodule" Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 02/17] submodule--helper: fix trivial get_default_remote_submodule() leak Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 03/17] submodule--helper: fix most "struct pathspec" memory leaks Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 04/17] submodule--helper: "struct pathspec" memory leak in module_update() Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 05/17] submodule--helper: don't leak {run,capture}_command() cp.dir argument Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 06/17] submodule--helper: add and use *_release() functions Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 07/17] submodule--helper: fix "errmsg_str" memory leak Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 08/17] submodule--helper: fix "sm_path" and other "module_cb_list" leaks Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 09/17] submodule--helper: fix a leak with repo_clear() Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 10/17] submodule--helper: fix a memory leak in get_default_remote_submodule() Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 11/17] submodule--helper: fix "reference" leak Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 12/17] submodule--helper: fix obscure leak in module_add() Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 13/17] submodule--helper: fix a " Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 14/17] submodule--helper: fix a memory leak in print_status() Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 15/17] submodule--helper: free some "displaypath" in "struct update_data" Ævar Arnfjörð Bjarmason
2022-08-21 13:59           ` [PATCH v6 16/17] submodule--helper: free rest of " Ævar Arnfjörð Bjarmason
2022-08-24 23:03             ` Glen Choo [this message]
2022-08-21 13:59           ` [PATCH v6 17/17] submodule--helper: fix a configure_added_submodule() leak Ævar Arnfjörð Bjarmason
2022-08-31 23:14           ` [PATCH v7 00/17] submodule--helper: fix memory leaks Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 01/17] submodule--helper: fix a leak in "clone_submodule" Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 02/17] submodule--helper: fix trivial get_default_remote_submodule() leak Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 03/17] submodule--helper: fix most "struct pathspec" memory leaks Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 04/17] submodule--helper: "struct pathspec" memory leak in module_update() Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 05/17] submodule--helper: don't leak {run,capture}_command() cp.dir argument Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 06/17] submodule--helper: add and use *_release() functions Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 07/17] submodule--helper: fix "errmsg_str" memory leak Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 08/17] submodule--helper: fix "sm_path" and other "module_cb_list" leaks Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 09/17] submodule--helper: fix a leak with repo_clear() Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 10/17] submodule--helper: fix a memory leak in get_default_remote_submodule() Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 11/17] submodule--helper: fix "reference" leak Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 12/17] submodule--helper: fix obscure leak in module_add() Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 13/17] submodule--helper: fix a " Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 14/17] submodule--helper: fix a memory leak in print_status() Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 15/17] submodule--helper: free some "displaypath" in "struct update_data" Ævar Arnfjörð Bjarmason
2022-08-31 23:14             ` [PATCH v7 16/17] submodule--helper: free rest of " Ævar Arnfjörð Bjarmason
2022-09-01 21:20               ` Glen Choo
2022-08-31 23:14             ` [PATCH v7 17/17] submodule--helper: fix a configure_added_submodule() leak Ævar Arnfjörð Bjarmason
2022-09-01 21:23             ` [PATCH v7 00/17] submodule--helper: fix memory leaks Glen Choo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=kl6l35dl452c.fsf@chooglen-macbookpro.roam.corp.google.com \
    --to=chooglen@google.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=pc44800@gmail.com \
    --cc=raykar.ath@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).