git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v6 16/17] submodule--helper: free rest of "displaypath" in "struct update_data"

From
Glen Choo <chooglen@google.com>
Date
Aug 24, 2022, 23:03 UTC
Message-ID
<kl6l35dl452c.fsf@chooglen-macbookpro.roam.corp.google.com>
In-Reply-To
<patch-v6-16.17-a99a7736fab-20220821T130415Z-avarab@gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
Show 9 quoted lines
> 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().
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 165 of 186 in “submodule--helper: fix memory leaks”
  1. 00/11 submodule--helper: fix memory leaksÆvar Arnfjörð Bjarmason, Jul 13, 2022
  2. 02/11 submodule--helper: replace memset() with { 0 }-initializationÆvar Arnfjörð Bjarmason, Jul 13, 2022
  3. Glen ChooJul 13, 2022
  4. Junio C HamanoJul 13, 2022
  5. Glen ChooJul 13, 2022
  6. Ævar Arnfjörð BjarmasonJul 14, 2022
  7. Junio C HamanoJul 14, 2022
  8. Glen ChooJul 15, 2022
  9. 01/11 submodule.c: free() memory from xgetcwd()Ævar Arnfjörð Bjarmason, Jul 13, 2022
  10. 03/11 submodule--helper: fix "module_clone_data" memory leaksÆvar Arnfjörð Bjarmason, Jul 13, 2022
  11. Glen ChooJul 13, 2022
  12. Glen ChooJul 13, 2022
  13. Ævar Arnfjörð BjarmasonJul 13, 2022
  14. Glen ChooJul 13, 2022
  15. Ævar Arnfjörð BjarmasonJul 14, 2022
  16. 04/11 submodule--helper: fix "struct pathspec" memory leaksÆvar Arnfjörð Bjarmason, Jul 13, 2022
  17. 05/11 submodule--helper: free() leaking {run,capture}_command() argumentÆvar Arnfjörð Bjarmason, Jul 13, 2022
  18. Glen ChooJul 14, 2022
  19. Ævar Arnfjörð BjarmasonJul 14, 2022
  20. 07/11 submodule--helper: fix "errmsg_str" memory leakÆvar Arnfjörð Bjarmason, Jul 13, 2022
  21. Glen ChooJul 14, 2022
  22. 08/11 submodule--helper: fix "sm_path" and other "module_cb_list" leaksÆvar Arnfjörð Bjarmason, Jul 13, 2022
  23. 06/11 submodule--helper: add and use *_release() functionsÆvar Arnfjörð Bjarmason, Jul 13, 2022
  24. Glen ChooJul 14, 2022
  25. 10/11 submodule--helper: fix a leak with repo_clear()Ævar Arnfjörð Bjarmason, Jul 13, 2022
  26. 09/11 submodule--helper: free "char *" in "struct update_data"Ævar Arnfjörð Bjarmason, Jul 13, 2022
  27. Glen ChooJul 14, 2022
  28. Ævar Arnfjörð BjarmasonJul 18, 2022
  29. 11/11 submodule--helper: fix "reference" leak is "module_clone_data"Ævar Arnfjörð Bjarmason, Jul 13, 2022
  30. Glen ChooJul 14, 2022
  31. 00/24 submodule--helper: fix memory leaksÆvar Arnfjörð Bjarmason, Jul 19, 2022
  32. 01/24 submodule--helper: replace memset() with { 0 }-initializationÆvar Arnfjörð Bjarmason, Jul 19, 2022
  33. Junio C HamanoJul 19, 2022
  34. 02/24 submodule--helper: fix a leak in "clone_submodule"Ævar Arnfjörð Bjarmason, Jul 19, 2022
  35. Junio C HamanoJul 19, 2022
  36. 03/24 submodule--helper: fix trivial get_default_remote_submodule() leakÆvar Arnfjörð Bjarmason, Jul 19, 2022
  37. 04/24 submodule--helper: fix most "struct pathspec" memory leaksÆvar Arnfjörð Bjarmason, Jul 19, 2022
  38. Junio C HamanoJul 20, 2022
  39. Glen ChooJul 21, 2022
  40. 05/24 submodule--helper: "struct pathspec" memory leak in module_update()Ævar Arnfjörð Bjarmason, Jul 19, 2022
  41. Junio C HamanoJul 20, 2022
  42. Glen ChooJul 21, 2022
  43. 06/24 submodule--helper: don't leak {run,capture}_command() cp.dir argumentÆvar Arnfjörð Bjarmason, Jul 19, 2022
  44. 09/24 submodule--helper: refactor "errmsg_str" to be a "struct strbuf"Ævar Arnfjörð Bjarmason, Jul 19, 2022
  45. 07/24 submodule--helper: add "const" to copy of "update_data"Ævar Arnfjörð Bjarmason, Jul 19, 2022
  46. 11/24 submodule--helper: fix "sm_path" and other "module_cb_list" leaksÆvar Arnfjörð Bjarmason, Jul 19, 2022
  47. Junio C HamanoJul 20, 2022
  48. 08/24 submodule--helper: add and use *_release() functionsÆvar Arnfjörð Bjarmason, Jul 19, 2022
  49. Junio C HamanoJul 20, 2022
  50. Ævar Arnfjörð BjarmasonJul 21, 2022
  51. 10/24 submodule--helper: fix "errmsg_str" memory leakÆvar Arnfjörð Bjarmason, Jul 19, 2022
  52. 13/24 submodule--helper: fix a memory leak in get_default_remote_submodule()Ævar Arnfjörð Bjarmason, Jul 19, 2022
  53. 12/24 submodule--helper: fix a leak with repo_clear()Ævar Arnfjörð Bjarmason, Jul 19, 2022
  54. 14/24 submodule--helper: fix "reference" leak is "module_clone_data"Ævar Arnfjörð Bjarmason, Jul 19, 2022
  55. Junio C HamanoJul 21, 2022
  56. 15/24 submodule--helper: fix obscure leak in module_add()Ævar Arnfjörð Bjarmason, Jul 19, 2022
  57. 17/24 submodule--helper: fix a memory leak in print_status()Ævar Arnfjörð Bjarmason, Jul 19, 2022
  58. 16/24 submodule--helper: fix a leak in module_add()Ævar Arnfjörð Bjarmason, Jul 19, 2022
  59. 18/24 submodule--helper: free some "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Jul 19, 2022
  60. 19/24 submodule--helper: rename "int res" to "int ret"Ævar Arnfjörð Bjarmason, Jul 19, 2022
  61. 20/24 submodule--helper: add skeleton "goto cleanup" to update_submodule()Ævar Arnfjörð Bjarmason, Jul 19, 2022
  62. 21/24 submodule--helper: don't exit() on failure, returnÆvar Arnfjörð Bjarmason, Jul 19, 2022
  63. 22/24 submodule--helper: free rest of "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Jul 19, 2022
  64. 23/24 submodule--helper: fix bad config API usageÆvar Arnfjörð Bjarmason, Jul 19, 2022
  65. 24/24 submodule--helper: fix a configure_added_submodule() leakÆvar Arnfjörð Bjarmason, Jul 19, 2022
  66. 00/26 submodule--helper: fix memory leaksÆvar Arnfjörð Bjarmason, Jul 21, 2022
  67. 01/26 submodule--helper: replace memset() with { 0 }-initializationÆvar Arnfjörð Bjarmason, Jul 21, 2022
  68. 02/26 submodule--helper: stop conflating "sb" in clone_submodule()Ævar Arnfjörð Bjarmason, Jul 21, 2022
  69. Junio C HamanoJul 21, 2022
  70. Ævar Arnfjörð BjarmasonJul 22, 2022
  71. Glen ChooJul 22, 2022
  72. Junio C HamanoJul 22, 2022
  73. Ævar Arnfjörð BjarmasonJul 28, 2022
  74. 03/26 submodule--helper: pass a "const struct module_clone_data" to clone_submodule()Ævar Arnfjörð Bjarmason, Jul 21, 2022
  75. Junio C HamanoJul 21, 2022
  76. Glen ChooJul 25, 2022
  77. 04/26 submodule--helper: fix a leak in "clone_submodule"Ævar Arnfjörð Bjarmason, Jul 21, 2022
  78. Junio C HamanoJul 21, 2022
  79. Ævar Arnfjörð BjarmasonJul 22, 2022
  80. 05/26 submodule--helper: fix trivial get_default_remote_submodule() leakÆvar Arnfjörð Bjarmason, Jul 21, 2022
  81. 06/26 submodule--helper: fix most "struct pathspec" memory leaksÆvar Arnfjörð Bjarmason, Jul 21, 2022
  82. Junio C HamanoJul 21, 2022
  83. 07/26 submodule--helper: "struct pathspec" memory leak in module_update()Ævar Arnfjörð Bjarmason, Jul 21, 2022
  84. 08/26 submodule--helper: don't leak {run,capture}_command() cp.dir argumentÆvar Arnfjörð Bjarmason, Jul 21, 2022
  85. 09/26 submodule--helper: add "const" to copy of "update_data"Ævar Arnfjörð Bjarmason, Jul 21, 2022
  86. 10/26 submodule--helper: add and use *_release() functionsÆvar Arnfjörð Bjarmason, Jul 21, 2022
  87. 11/26 submodule--helper: refactor "errmsg_str" to be a "struct strbuf"Ævar Arnfjörð Bjarmason, Jul 21, 2022
  88. Glen ChooJul 25, 2022
  89. 12/26 submodule--helper: fix "errmsg_str" memory leakÆvar Arnfjörð Bjarmason, Jul 21, 2022
  90. 13/26 submodule--helper: fix "sm_path" and other "module_cb_list" leaksÆvar Arnfjörð Bjarmason, Jul 21, 2022
  91. 14/26 submodule--helper: fix a leak with repo_clear()Ævar Arnfjörð Bjarmason, Jul 21, 2022
  92. 15/26 submodule--helper: fix a memory leak in get_default_remote_submodule()Ævar Arnfjörð Bjarmason, Jul 21, 2022
  93. 16/26 submodule--helper: fix "reference" leak is "module_clone_data"Ævar Arnfjörð Bjarmason, Jul 21, 2022
  94. 17/26 submodule--helper: fix obscure leak in module_add()Ævar Arnfjörð Bjarmason, Jul 21, 2022
  95. Junio C HamanoJul 21, 2022
  96. 18/26 submodule--helper: fix a leak in module_add()Ævar Arnfjörð Bjarmason, Jul 21, 2022
  97. 19/26 submodule--helper: fix a memory leak in print_status()Ævar Arnfjörð Bjarmason, Jul 21, 2022
  98. 20/26 submodule--helper: free some "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Jul 21, 2022
  99. 21/26 submodule--helper: rename "int res" to "int ret"Ævar Arnfjörð Bjarmason, Jul 21, 2022
  100. 22/26 submodule--helper: add skeleton "goto cleanup" to update_submodule()Ævar Arnfjörð Bjarmason, Jul 21, 2022
  101. 23/26 submodule--helper: don't exit() on failure, returnÆvar Arnfjörð Bjarmason, Jul 21, 2022
  102. Glen ChooJul 25, 2022
  103. 24/26 submodule--helper: free rest of "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Jul 21, 2022
  104. Glen ChooJul 26, 2022
  105. 25/26 submodule--helper: fix bad config API usageÆvar Arnfjörð Bjarmason, Jul 21, 2022
  106. 26/26 submodule--helper: fix a configure_added_submodule() leakÆvar Arnfjörð Bjarmason, Jul 21, 2022
  107. Junio C HamanoJul 21, 2022
  108. 00/17 submodule--helper: (only) fix memory leaksÆvar Arnfjörð Bjarmason, Jul 28, 2022
  109. 01/17 submodule--helper: fix a leak in "clone_submodule"Ævar Arnfjörð Bjarmason, Jul 28, 2022
  110. 03/17 submodule--helper: fix most "struct pathspec" memory leaksÆvar Arnfjörð Bjarmason, Jul 28, 2022
  111. 02/17 submodule--helper: fix trivial get_default_remote_submodule() leakÆvar Arnfjörð Bjarmason, Jul 28, 2022
  112. 04/17 submodule--helper: "struct pathspec" memory leak in module_update()Ævar Arnfjörð Bjarmason, Jul 28, 2022
  113. 05/17 submodule--helper: don't leak {run,capture}_command() cp.dir argumentÆvar Arnfjörð Bjarmason, Jul 28, 2022
  114. 07/17 submodule--helper: fix "errmsg_str" memory leakÆvar Arnfjörð Bjarmason, Jul 28, 2022
  115. 06/17 submodule--helper: add and use *_release() functionsÆvar Arnfjörð Bjarmason, Jul 28, 2022
  116. 08/17 submodule--helper: fix "sm_path" and other "module_cb_list" leaksÆvar Arnfjörð Bjarmason, Jul 28, 2022
  117. 10/17 submodule--helper: fix a memory leak in get_default_remote_submodule()Ævar Arnfjörð Bjarmason, Jul 28, 2022
  118. 11/17 submodule--helper: fix "reference" leakÆvar Arnfjörð Bjarmason, Jul 28, 2022
  119. 12/17 submodule--helper: fix obscure leak in module_add()Ævar Arnfjörð Bjarmason, Jul 28, 2022
  120. 09/17 submodule--helper: fix a leak with repo_clear()Ævar Arnfjörð Bjarmason, Jul 28, 2022
  121. 13/17 submodule--helper: fix a leak in module_add()Ævar Arnfjörð Bjarmason, Jul 28, 2022
  122. 14/17 submodule--helper: fix a memory leak in print_status()Ævar Arnfjörð Bjarmason, Jul 28, 2022
  123. 16/17 submodule--helper: free rest of "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Jul 28, 2022
  124. 15/17 submodule--helper: free some "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Jul 28, 2022
  125. 17/17 submodule--helper: fix a configure_added_submodule() leakÆvar Arnfjörð Bjarmason, Jul 28, 2022
  126. 00/17 submodule--helper: fix memory leaksÆvar Arnfjörð Bjarmason, Aug 2, 2022
  127. 02/17 submodule--helper: fix trivial get_default_remote_submodule() leakÆvar Arnfjörð Bjarmason, Aug 2, 2022
  128. 01/17 submodule--helper: fix a leak in "clone_submodule"Ævar Arnfjörð Bjarmason, Aug 2, 2022
  129. 04/17 submodule--helper: "struct pathspec" memory leak in module_update()Ævar Arnfjörð Bjarmason, Aug 2, 2022
  130. 03/17 submodule--helper: fix most "struct pathspec" memory leaksÆvar Arnfjörð Bjarmason, Aug 2, 2022
  131. Glen ChooAug 3, 2022
  132. Ævar Arnfjörð BjarmasonAug 4, 2022
  133. 05/17 submodule--helper: don't leak {run,capture}_command() cp.dir argumentÆvar Arnfjörð Bjarmason, Aug 2, 2022
  134. 06/17 submodule--helper: add and use *_release() functionsÆvar Arnfjörð Bjarmason, Aug 2, 2022
  135. 07/17 submodule--helper: fix "errmsg_str" memory leakÆvar Arnfjörð Bjarmason, Aug 2, 2022
  136. 08/17 submodule--helper: fix "sm_path" and other "module_cb_list" leaksÆvar Arnfjörð Bjarmason, Aug 2, 2022
  137. Glen ChooAug 3, 2022
  138. 09/17 submodule--helper: fix a leak with repo_clear()Ævar Arnfjörð Bjarmason, Aug 2, 2022
  139. 10/17 submodule--helper: fix a memory leak in get_default_remote_submodule()Ævar Arnfjörð Bjarmason, Aug 2, 2022
  140. 11/17 submodule--helper: fix "reference" leakÆvar Arnfjörð Bjarmason, Aug 2, 2022
  141. 12/17 submodule--helper: fix obscure leak in module_add()Ævar Arnfjörð Bjarmason, Aug 2, 2022
  142. 13/17 submodule--helper: fix a leak in module_add()Ævar Arnfjörð Bjarmason, Aug 2, 2022
  143. 15/17 submodule--helper: free some "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Aug 2, 2022
  144. 14/17 submodule--helper: fix a memory leak in print_status()Ævar Arnfjörð Bjarmason, Aug 2, 2022
  145. 16/17 submodule--helper: free rest of "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Aug 2, 2022
  146. Glen ChooAug 4, 2022
  147. 17/17 submodule--helper: fix a configure_added_submodule() leakÆvar Arnfjörð Bjarmason, Aug 2, 2022
  148. 00/17 submodule--helper: fix memory leaksÆvar Arnfjörð Bjarmason, Aug 21, 2022
  149. 01/17 submodule--helper: fix a leak in "clone_submodule"Ævar Arnfjörð Bjarmason, Aug 21, 2022
  150. 02/17 submodule--helper: fix trivial get_default_remote_submodule() leakÆvar Arnfjörð Bjarmason, Aug 21, 2022
  151. 03/17 submodule--helper: fix most "struct pathspec" memory leaksÆvar Arnfjörð Bjarmason, Aug 21, 2022
  152. 04/17 submodule--helper: "struct pathspec" memory leak in module_update()Ævar Arnfjörð Bjarmason, Aug 21, 2022
  153. 06/17 submodule--helper: add and use *_release() functionsÆvar Arnfjörð Bjarmason, Aug 21, 2022
  154. 05/17 submodule--helper: don't leak {run,capture}_command() cp.dir argumentÆvar Arnfjörð Bjarmason, Aug 21, 2022
  155. 07/17 submodule--helper: fix "errmsg_str" memory leakÆvar Arnfjörð Bjarmason, Aug 21, 2022
  156. 08/17 submodule--helper: fix "sm_path" and other "module_cb_list" leaksÆvar Arnfjörð Bjarmason, Aug 21, 2022
  157. 09/17 submodule--helper: fix a leak with repo_clear()Ævar Arnfjörð Bjarmason, Aug 21, 2022
  158. 10/17 submodule--helper: fix a memory leak in get_default_remote_submodule()Ævar Arnfjörð Bjarmason, Aug 21, 2022
  159. 11/17 submodule--helper: fix "reference" leakÆvar Arnfjörð Bjarmason, Aug 21, 2022
  160. 13/17 submodule--helper: fix a leak in module_add()Ævar Arnfjörð Bjarmason, Aug 21, 2022
  161. 12/17 submodule--helper: fix obscure leak in module_add()Ævar Arnfjörð Bjarmason, Aug 21, 2022
  162. 14/17 submodule--helper: fix a memory leak in print_status()Ævar Arnfjörð Bjarmason, Aug 21, 2022
  163. 15/17 submodule--helper: free some "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Aug 21, 2022
  164. 16/17 submodule--helper: free rest of "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Aug 21, 2022
  165. Glen ChooAug 24, 2022
  166. 17/17 submodule--helper: fix a configure_added_submodule() leakÆvar Arnfjörð Bjarmason, Aug 21, 2022
  167. 00/17 submodule--helper: fix memory leaksÆvar Arnfjörð Bjarmason, Aug 31, 2022
  168. 01/17 submodule--helper: fix a leak in "clone_submodule"Ævar Arnfjörð Bjarmason, Aug 31, 2022
  169. 02/17 submodule--helper: fix trivial get_default_remote_submodule() leakÆvar Arnfjörð Bjarmason, Aug 31, 2022
  170. 05/17 submodule--helper: don't leak {run,capture}_command() cp.dir argumentÆvar Arnfjörð Bjarmason, Aug 31, 2022
  171. 03/17 submodule--helper: fix most "struct pathspec" memory leaksÆvar Arnfjörð Bjarmason, Aug 31, 2022
  172. 04/17 submodule--helper: "struct pathspec" memory leak in module_update()Ævar Arnfjörð Bjarmason, Aug 31, 2022
  173. 06/17 submodule--helper: add and use *_release() functionsÆvar Arnfjörð Bjarmason, Aug 31, 2022
  174. 07/17 submodule--helper: fix "errmsg_str" memory leakÆvar Arnfjörð Bjarmason, Aug 31, 2022
  175. 08/17 submodule--helper: fix "sm_path" and other "module_cb_list" leaksÆvar Arnfjörð Bjarmason, Aug 31, 2022
  176. 10/17 submodule--helper: fix a memory leak in get_default_remote_submodule()Ævar Arnfjörð Bjarmason, Aug 31, 2022
  177. 11/17 submodule--helper: fix "reference" leakÆvar Arnfjörð Bjarmason, Aug 31, 2022
  178. 09/17 submodule--helper: fix a leak with repo_clear()Ævar Arnfjörð Bjarmason, Aug 31, 2022
  179. 12/17 submodule--helper: fix obscure leak in module_add()Ævar Arnfjörð Bjarmason, Aug 31, 2022
  180. 13/17 submodule--helper: fix a leak in module_add()Ævar Arnfjörð Bjarmason, Aug 31, 2022
  181. 14/17 submodule--helper: fix a memory leak in print_status()Ævar Arnfjörð Bjarmason, Aug 31, 2022
  182. 16/17 submodule--helper: free rest of "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Aug 31, 2022
  183. Glen ChooSep 1, 2022
  184. 15/17 submodule--helper: free some "displaypath" in "struct update_data"Ævar Arnfjörð Bjarmason, Aug 31, 2022
  185. 17/17 submodule--helper: fix a configure_added_submodule() leakÆvar Arnfjörð Bjarmason, Aug 31, 2022
  186. Glen ChooSep 1, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.