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

[PATCH v6 00/17] submodule--helper: fix memory leaks

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Aug 21, 2022, 13:59 UTC
Message-ID
<cover-v6-00.17-00000000000-20220821T130415Z-avarab@gmail.com>
In-Reply-To
<cover-v5-00.17-00000000000-20220802T155002Z-avarab@gmail.com>

This series fixes all of the memory leaks in builtin/submodule--helper.c that our test suite spots, except for those where the leak is downstream of cmd_submodule__helper() and caused by code that's not in builtin/submodule--helper.c (e.g. leaks in the object or config APIs, and in submodule.c).

This re-roll is on top of the just-now re-rolled v3 of the base topic[1].

Changes in v6:
 * Rebase on top of the base topic.
 * Mark new tests as leak-free within this series (due to changes on
   "master")
 * Various minor changes, see range-diff below.
1. https://lore.kernel.org/git/cover-v3-00.32-00000000000-20220821T130231Z-avarab@gmail.com/
Ævar Arnfjörð Bjarmason (17):
  submodule--helper: fix a leak in "clone_submodule"
  submodule--helper: fix trivial get_default_remote_submodule() leak
  submodule--helper: fix most "struct pathspec" memory leaks
  submodule--helper: "struct pathspec" memory leak in module_update()
  submodule--helper: don't leak {run,capture}_command() cp.dir argument
  submodule--helper: add and use *_release() functions
  submodule--helper: fix "errmsg_str" memory leak
  submodule--helper: fix "sm_path" and other "module_cb_list" leaks
  submodule--helper: fix a leak with repo_clear()
  submodule--helper: fix a memory leak in get_default_remote_submodule()
  submodule--helper: fix "reference" leak
  submodule--helper: fix obscure leak in module_add()
  submodule--helper: fix a leak in module_add()
  submodule--helper: fix a memory leak in print_status()
  submodule--helper: free some "displaypath" in "struct update_data"
  submodule--helper: free rest of "displaypath" in "struct update_data"
  submodule--helper: fix a configure_added_submodule() leak
 builtin/submodule--helper.c        | 239 +++++++++++++++++++++--------
 t/t1500-rev-parse.sh               |   1 +
 t/t2403-worktree-move.sh           |   1 +
 t/t6008-rev-list-submodule.sh      |   1 +
 t/t6134-pathspec-in-submodule.sh   |   1 +
 t/t7401-submodule-summary.sh       |   1 +
 t/t7412-submodule-absorbgitdirs.sh |   1 +
 t/t7413-submodule-is-active.sh     |   1 +
 t/t7414-submodule-mistakes.sh      |   2 +
 t/t7419-submodule-set-branch.sh    |   1 +
 t/t7506-status-submodule.sh        |   1 +
 t/t7507-commit-verbose.sh          |   2 +
 12 files changed, 187 insertions(+), 65 deletions(-)
Range-diff against v5:
 1:  118e965d401 =  1:  0f60ea6f7c6 submodule--helper: fix a leak in "clone_submodule"
 2:  d885e1dd59a !  2:  c14e00f39cb submodule--helper: fix trivial get_default_remote_submodule() leak
    @@ Commit message
     
      ## builtin/submodule--helper.c ##
     @@ builtin/submodule--helper.c: static int update_submodule(struct update_data *update_data)
    - 		const char *branch = remote_submodule_branch(update_data->sm_path);
    - 		char *remote_ref = xstrfmt("refs/remotes/%s/%s", remote_name, branch);
    + 			return code;
    + 		remote_ref = xstrfmt("refs/remotes/%s/%s", remote_name, branch);
      
     +		free(remote_name);
     +
 3:  1f90348d61f !  3:  a2ecdb301d3 submodule--helper: fix most "struct pathspec" memory leaks
    @@ Commit message
         Call clear_pathspec() at the end of various functions that work with
         and allocate a "struct pathspec".
     
    +    In some cases the zero-initialization here isn't strictly needed, but
    +    as we're moving to a "goto cleanup" pattern let's make sure that it's
    +    safe to call clear_pathspec(), we don't want the data to be
    +    uninitialized.
    +
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
     
      ## builtin/submodule--helper.c ##
 4:  f768ff2e34d =  4:  8fc3dad316e submodule--helper: "struct pathspec" memory leak in module_update()
 5:  509133c37fa !  5:  a3886d36366 submodule--helper: don't leak {run,capture}_command() cp.dir argument
    @@ builtin/submodule--helper.c: static int run_update_command(struct update_data *u
     -	cp.dir = xstrdup(ud->sm_path);
     +	cp.dir = ud->sm_path;
      	prepare_submodule_repo_env(&cp.env);
    - 	if (run_command(&cp)) {
    - 		int ret;
    + 	if ((ret = run_command(&cp))) {
    + 		switch (ud->update_strategy.type) {
 6:  25377f1d06c =  6:  173dbb7d8fc submodule--helper: add and use *_release() functions
 7:  1a85057cd0c =  7:  cd394814370 submodule--helper: fix "errmsg_str" memory leak
 8:  3c4f734e958 !  8:  2110b991913 submodule--helper: fix "sm_path" and other "module_cb_list" leaks
    @@ Commit message
         submodule--helper: fix "sm_path" and other "module_cb_list" leaks
     
         Fix leaks in "struct module_cb_list" and the "struct module_cb" which
    -    it contains, these fixes leaks in e83e3333b57 (submodule: port
    -    submodule subcommand 'summary' from shell to C, 2020-08-13).
    +    it contains, these fix leaks in e83e3333b57 (submodule: port submodule
    +    subcommand 'summary' from shell to C, 2020-08-13).
     
         The "sm_path" should always have been a "char *", not a "const
         char *", we always create it with xstrdup().
    @@ builtin/submodule--helper.c: static int compute_summary_module_list(struct objec
      	return ret;
      }
      
    +
    + ## t/t7401-submodule-summary.sh ##
    +@@ t/t7401-submodule-summary.sh: This test script tries to verify the sanity of summary subcommand of git submodu
    + # various reasons, one of them being that there are lots of commands taking place
    + # outside of 'test_expect_success' block, which is no longer in good-style.
    + 
    ++TEST_PASSES_SANITIZE_LEAK=true
    + . ./test-lib.sh
    + 
    + add_file () {
 9:  3aebff9f8e3 =  9:  a0d1a03166f submodule--helper: fix a leak with repo_clear()
10:  38345ec76bc ! 10:  84f162f320b submodule--helper: fix a memory leak in get_default_remote_submodule()
    @@ Commit message
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
     
      ## builtin/submodule--helper.c ##
    -@@ builtin/submodule--helper.c: static char *repo_get_default_remote(struct repository *repo)
    - static char *get_default_remote_submodule(const char *module_path)
    +@@ builtin/submodule--helper.c: static int repo_get_default_remote(struct repository *repo, char **default_remot
    + static int get_default_remote_submodule(const char *module_path, char **default_remote)
      {
      	struct repository subrepo;
    -+	char *ret;
    ++	int ret;
      
    - 	repo_submodule_init(&subrepo, the_repository, module_path, null_oid());
    --	return repo_get_default_remote(&subrepo);
    -+	ret = repo_get_default_remote(&subrepo);
    + 	if (repo_submodule_init(&subrepo, the_repository, module_path,
    + 				null_oid()) < 0)
    + 		return die_message(_("could not get a repository handle for submodule '%s'"),
    + 				   module_path);
    +-	return repo_get_default_remote(&subrepo, default_remote);
    ++	ret = repo_get_default_remote(&subrepo, default_remote);
     +	repo_clear(&subrepo);
     +
     +	return ret;
11:  4b1e5ced969 = 11:  dc5e8504354 submodule--helper: fix "reference" leak
12:  e74c396073b = 12:  50d58bfb19b submodule--helper: fix obscure leak in module_add()
13:  71a56c59864 = 13:  56590508180 submodule--helper: fix a leak in module_add()
14:  2429db2f1c7 = 14:  38ceb0a36ab submodule--helper: fix a memory leak in print_status()
15:  613d077c4ec ! 15:  f3cf49dd029 submodule--helper: free some "displaypath" in "struct update_data"
    @@ t/t7412-submodule-absorbgitdirs.sh: This test verifies that `git submodue absorb
      . ./test-lib.sh
      
      test_expect_success 'setup a real submodule' '
    +
    + ## t/t7419-submodule-set-branch.sh ##
    +@@ t/t7419-submodule-set-branch.sh: This test verifies that the set-branch subcommand of git-submodule is working
    + as expected.
    + '
    + 
    ++TEST_PASSES_SANITIZE_LEAK=true
    + TEST_NO_CREATE_REPO=1
    + . ./test-lib.sh
    + 
16:  8f150a81507 ! 16:  a99a7736fab submodule--helper: free rest of "displaypath" in "struct update_data"
    @@ builtin/submodule--helper.c: static int update_submodules(struct update_data *up
      
     -		code = update_submodule(update_data);
     +		code = update_submodule_outer(update_data);
    - 		if (code)
    - 			ret = code;
    - 		if (code == 128)
    + 		if (!code)
    + 			continue;
    + 		ret = code;
17:  17c77ceba01 = 17:  ec0b02d8ee2 submodule--helper: fix a configure_added_submodule() leak
-- 
2.37.2.1279.g64dec4e13cf
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 148 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.