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

[PATCH v5 00/19] leak fixes: various simple leak fixes

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jan 18, 2023, 12:08 UTC
Message-ID
<cover-v5-00.19-00000000000-20230118T120334Z-avarab@gmail.com>
In-Reply-To
<cover-v4-00.19-00000000000-20230117T151201Z-avarab@gmail.com>

See https://lore.kernel.org/git/cover-v4-00.19-00000000000-20230117T151201Z-avarab@gmail.com/ for the v4. Change since then:

* Don't mark t/t3203-branch-output.sh as passing, which was new in
  v4. As noted in
  https://lore.kernel.org/git/xmqq1qns8gz4.fsf_-_@gitster.g/ it still
  leaked.
  As I noted in
  https://lore.kernel.org/git/230118.86o7qwxg4e.gmgdl@evledraar.gmail.com/
  this was a gcc v.s. clang difference.
  I a fix for that "filter" leak as a follow-up, let's just fix it for
  real at some point, rather than using the UNLEAK(), sorry about the
  churn.
* The couple of things René pointed out on v4 I both took (and he
  seems to think so) as suggestions for eventual follow-ups.
  In general I agree that some of the fixes here have deeper
  root-cause fixes that are worth doing at some point, but in the
  meantime having some simple leak fixes (and CI regression testing
  for them) is an improvement.
Ævar Arnfjörð Bjarmason (19):
  tests: mark tests as passing with SANITIZE=leak
  bundle.c: don't leak the "args" in the "struct child_process"
  commit-graph: use free_commit_graph() instead of UNLEAK()
  clone: use free() instead of UNLEAK()
  various: add missing clear_pathspec(), fix leaks
  name-rev: don't xstrdup() an already dup'd string
  repack: fix leaks on error with "goto cleanup"
  worktree: fix a trivial leak in prune_worktrees()
  http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()
  http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()
  commit-graph: fix a parse_options_concat() leak
  show-branch: free() allocated "head" before return
  builtin/merge.c: use fixed strings, not "strbuf", fix leak
  builtin/merge.c: free "&buf" on "Your local changes..." error
  object-file.c: release the "tag" in check_tag()
  grep.c: refactor free_grep_patterns()
  grep API: plug memory leaks by freeing "header_list"
  receive-pack: free() the "ref_name" in "struct command"
  push: free_refs() the "local_refs" in set_refspecs()
 archive.c                                  |  1 +
 builtin/clean.c                            |  1 +
 builtin/clone.c                            |  5 +++--
 builtin/commit-graph.c                     | 10 ++++++----
 builtin/merge.c                            | 14 ++++++-------
 builtin/name-rev.c                         | 23 ++++++++++------------
 builtin/push.c                             |  1 +
 builtin/receive-pack.c                     | 10 ++++++++++
 builtin/repack.c                           | 13 ++++++------
 builtin/reset.c                            | 11 ++++++++---
 builtin/show-branch.c                      |  1 +
 builtin/stash.c                            |  7 +++++--
 builtin/worktree.c                         |  6 +++---
 bundle.c                                   |  6 ++++--
 grep.c                                     | 15 +++++++++-----
 http-backend.c                             |  9 +++++++--
 object-file.c                              |  1 +
 t/t0023-crlf-am.sh                         |  1 +
 t/t1301-shared-repo.sh                     |  1 +
 t/t1302-repo-version.sh                    |  1 +
 t/t1304-default-acl.sh                     |  1 +
 t/t1408-packed-refs.sh                     |  1 +
 t/t1410-reflog.sh                          |  1 +
 t/t1416-ref-transaction-hooks.sh           |  1 +
 t/t2401-worktree-prune.sh                  |  1 +
 t/t2402-worktree-list.sh                   |  1 +
 t/t2406-worktree-repair.sh                 |  1 +
 t/t3210-pack-refs.sh                       |  1 +
 t/t3800-mktag.sh                           |  1 +
 t/t4152-am-subjects.sh                     |  2 ++
 t/t4254-am-corrupt.sh                      |  2 ++
 t/t4256-am-format-flowed.sh                |  1 +
 t/t4257-am-interactive.sh                  |  2 ++
 t/t5001-archive-attr.sh                    |  1 +
 t/t5004-archive-corner-cases.sh            |  2 ++
 t/t5302-pack-index.sh                      |  2 ++
 t/t5317-pack-objects-filter-objects.sh     |  1 +
 t/t5330-no-lazy-fetch-with-commit-graph.sh |  1 +
 t/t5403-post-checkout-hook.sh              |  1 +
 t/t5405-send-pack-rewind.sh                |  1 +
 t/t5406-remote-rejects.sh                  |  1 +
 t/t5502-quickfetch.sh                      |  1 +
 t/t5504-fetch-receive-strict.sh            |  1 +
 t/t5507-remote-environment.sh              |  2 ++
 t/t5522-pull-symlink.sh                    |  1 +
 t/t5523-push-upstream.sh                   |  1 +
 t/t5527-fetch-odd-refs.sh                  |  1 +
 t/t5529-push-errors.sh                     |  2 ++
 t/t5546-receive-limits.sh                  |  2 ++
 t/t5547-push-quarantine.sh                 |  2 ++
 t/t5560-http-backend-noserver.sh           |  1 +
 t/t5561-http-backend.sh                    |  1 +
 t/t5562-http-backend-content-length.sh     |  2 ++
 t/t5604-clone-reference.sh                 |  1 +
 t/t5606-clone-options.sh                   |  1 +
 t/t5613-info-alternate.sh                  |  2 ++
 t/t5705-session-id-in-capabilities.sh      |  1 +
 t/t5810-proto-disable-local.sh             |  2 ++
 t/t5813-proto-disable-ssh.sh               |  2 ++
 t/t6011-rev-list-with-bad-commit.sh        |  1 +
 t/t6014-rev-list-all.sh                    |  1 +
 t/t6021-rev-list-exclude-hidden.sh         |  1 +
 t/t6439-merge-co-error-msgs.sh             |  1 +
 t/t7105-reset-patch.sh                     |  2 ++
 t/t7106-reset-unborn-branch.sh             |  2 ++
 t/t7107-reset-pathspec-file.sh             |  1 +
 t/t7301-clean-interactive.sh               |  1 +
 t/t7403-submodule-sync.sh                  |  1 +
 t/t7409-submodule-detached-work-tree.sh    |  1 +
 t/t7416-submodule-dash-url.sh              |  2 ++
 t/t7450-bad-git-dotfiles.sh                |  2 ++
 t/t7701-repack-unpack-unreachable.sh       |  1 +
 72 files changed, 156 insertions(+), 50 deletions(-)
Range-diff against v4:
 1:  2ed69e3cda3 =  1:  c47fc0fb637 tests: mark tests as passing with SANITIZE=leak
 2:  9993786ba0d =  2:  9eb758117dc bundle.c: don't leak the "args" in the "struct child_process"
 3:  8e98d7c4ebf =  3:  01b6229f18a commit-graph: use free_commit_graph() instead of UNLEAK()
 4:  966d7657d54 =  4:  f4f3aef2861 clone: use free() instead of UNLEAK()
 5:  93a8f8fa1b9 =  5:  8d10fbe0b8f various: add missing clear_pathspec(), fix leaks
 6:  bd15d991ac7 =  6:  eb5dc3ac192 name-rev: don't xstrdup() an already dup'd string
 7:  fd890121ebe =  7:  1fac90c306a repack: fix leaks on error with "goto cleanup"
 8:  1fe25bc6981 !  8:  02248aca3eb worktree: fix a trivial leak in prune_worktrees()
    @@ t/t2406-worktree-repair.sh
      . ./test-lib.sh
      
      test_expect_success setup '
    -
    - ## t/t3203-branch-output.sh ##
    -@@
    - #!/bin/sh
    - 
    - test_description='git branch display tests'
    -+
    -+TEST_PASSES_SANITIZE_LEAK=true
    - . ./test-lib.sh
    - . "$TEST_DIRECTORY"/lib-terminal.sh
    - 
 9:  6b3dd9b15f0 =  9:  b39d6d29dd5 http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()
10:  246f71bb447 = 10:  928dea2d4ee http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()
11:  ab31d8d10da = 11:  5770b9eb764 commit-graph: fix a parse_options_concat() leak
12:  9054b353220 = 12:  3ff86cb808c show-branch: free() allocated "head" before return
13:  05836b08e0f = 13:  1f3e3524580 builtin/merge.c: use fixed strings, not "strbuf", fix leak
14:  e8ea18b08c2 = 14:  15e4b8db805 builtin/merge.c: free "&buf" on "Your local changes..." error
15:  66c24afb893 = 15:  d36ad1f818a object-file.c: release the "tag" in check_tag()
16:  52744d9690f = 16:  10959760dfc grep.c: refactor free_grep_patterns()
17:  8ff63d9095c = 17:  6a8f4a567aa grep API: plug memory leaks by freeing "header_list"
18:  0ad7d59b881 = 18:  3c3d48df04b receive-pack: free() the "ref_name" in "struct command"
19:  b3aee41d0b4 = 19:  f29500a4abc push: free_refs() the "local_refs" in set_refspecs()
-- 
2.39.0.1225.g30a3d88132d
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 119 of 193 in “leak fixes: various simple leak fixes”
  1. 00/20 leak fixes: various simple leak fixesÆvar Arnfjörð Bjarmason, Dec 28, 2022
  2. 01/20 t6021: mark as passing with SANITIZE=leakÆvar Arnfjörð Bjarmason, Dec 28, 2022
  3. 02/20 tests: mark tests as passing with SANITIZE=leakÆvar Arnfjörð Bjarmason, Dec 28, 2022
  4. 03/20 bundle.c: don't leak the "args" in the "struct child_process"Ævar Arnfjörð Bjarmason, Dec 28, 2022
  5. 04/20 commit-graph: use free() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Dec 28, 2022
  6. René ScharfeDec 28, 2022
  7. 05/20 clone: use free() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Dec 28, 2022
  8. René ScharfeDec 28, 2022
  9. Junio C HamanoDec 29, 2022
  10. Ævar Arnfjörð BjarmasonDec 29, 2022
  11. 07/20 stash: fix a "struct pathspec" leakÆvar Arnfjörð Bjarmason, Dec 28, 2022
  12. René ScharfeDec 28, 2022
  13. Junio C HamanoDec 29, 2022
  14. 06/20 archive.c: call clear_pathspec() in write_archive()Ævar Arnfjörð Bjarmason, Dec 28, 2022
  15. 08/20 reset: fix cmd_reset() leaks with a clear_pathspec() callÆvar Arnfjörð Bjarmason, Dec 28, 2022
  16. Junio C HamanoDec 29, 2022
  17. 12/20 http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()Ævar Arnfjörð Bjarmason, Dec 28, 2022
  18. René ScharfeDec 28, 2022
  19. Junio C HamanoDec 29, 2022
  20. René ScharfeDec 29, 2022
  21. 09/20 name-rev: don't xstrdup() an already dup'd stringÆvar Arnfjörð Bjarmason, Dec 28, 2022
  22. René ScharfeDec 28, 2022
  23. Junio C HamanoDec 29, 2022
  24. 10/20 repack: fix leaks on error with "goto cleanup"Ævar Arnfjörð Bjarmason, Dec 28, 2022
  25. 11/20 worktree: fix a trivial leak in prune_worktrees()Ævar Arnfjörð Bjarmason, Dec 28, 2022
  26. René ScharfeDec 28, 2022
  27. 13/20 commit-graph: fix a parse_options_concat() leakÆvar Arnfjörð Bjarmason, Dec 28, 2022
  28. 14/20 show-branch: free() allocated "head" before returnÆvar Arnfjörð Bjarmason, Dec 28, 2022
  29. 16/20 builtin/merge.c: free "&buf" on "Your local changes..." errorÆvar Arnfjörð Bjarmason, Dec 28, 2022
  30. René ScharfeDec 28, 2022
  31. 17/20 connected.c: free(new_pack) in check_connected()Ævar Arnfjörð Bjarmason, Dec 28, 2022
  32. 18/20 object-file.c: free the "t.tag" in check_tag()Ævar Arnfjörð Bjarmason, Dec 28, 2022
  33. René ScharfeDec 28, 2022
  34. 15/20 builtin/merge.c: always free "struct strbuf msg"Ævar Arnfjörð Bjarmason, Dec 28, 2022
  35. René ScharfeDec 28, 2022
  36. 19/20 grep.c: make it easier to extend free_grep_patterns()Ævar Arnfjörð Bjarmason, Dec 28, 2022
  37. 20/20 grep API: plug memory leaks by freeing "header_list"Ævar Arnfjörð Bjarmason, Dec 28, 2022
  38. Eric SunshineDec 28, 2022
  39. René ScharfeDec 28, 2022
  40. 00/20 leak fixes: various simple leak fixesÆvar Arnfjörð Bjarmason, Dec 30, 2022
  41. 01/20 tests: mark tests as passing with SANITIZE=leakÆvar Arnfjörð Bjarmason, Dec 30, 2022
  42. 03/20 commit-graph: use free() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Dec 30, 2022
  43. René ScharfeDec 30, 2022
  44. 02/20 bundle.c: don't leak the "args" in the "struct child_process"Ævar Arnfjörð Bjarmason, Dec 30, 2022
  45. 06/20 name-rev: don't xstrdup() an already dup'd stringÆvar Arnfjörð Bjarmason, Dec 30, 2022
  46. 05/20 various: add missing clear_pathspec(), fix leaksÆvar Arnfjörð Bjarmason, Dec 30, 2022
  47. 04/20 clone: use free() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Dec 30, 2022
  48. 09/20 http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()Ævar Arnfjörð Bjarmason, Dec 30, 2022
  49. 08/20 worktree: fix a trivial leak in prune_worktrees()Ævar Arnfjörð Bjarmason, Dec 30, 2022
  50. 07/20 repack: fix leaks on error with "goto cleanup"Ævar Arnfjörð Bjarmason, Dec 30, 2022
  51. 10/20 http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()Ævar Arnfjörð Bjarmason, Dec 30, 2022
  52. 12/20 show-branch: free() allocated "head" before returnÆvar Arnfjörð Bjarmason, Dec 30, 2022
  53. 13/20 builtin/merge.c: always free "struct strbuf msg"Ævar Arnfjörð Bjarmason, Dec 30, 2022
  54. 15/20 connected.c: free(new_pack) in check_connected()Ævar Arnfjörð Bjarmason, Dec 30, 2022
  55. René ScharfeDec 30, 2022
  56. Ævar Arnfjörð BjarmasonJan 10, 2023
  57. 11/20 commit-graph: fix a parse_options_concat() leakÆvar Arnfjörð Bjarmason, Dec 30, 2022
  58. 14/20 builtin/merge.c: free "&buf" on "Your local changes..." errorÆvar Arnfjörð Bjarmason, Dec 30, 2022
  59. 16/20 object-file.c: release the "tag" in check_tag()Ævar Arnfjörð Bjarmason, Dec 30, 2022
  60. 19/20 receive-pack: free() the "ref_name" in "struct command"Ævar Arnfjörð Bjarmason, Dec 30, 2022
  61. 17/20 grep.c: refactor free_grep_patterns()Ævar Arnfjörð Bjarmason, Dec 30, 2022
  62. 18/20 grep API: plug memory leaks by freeing "header_list"Ævar Arnfjörð Bjarmason, Dec 30, 2022
  63. 20/20 push: free_refs() the "local_refs" in set_refspecs()Ævar Arnfjörð Bjarmason, Dec 30, 2022
  64. 00/19 leak fixes: various simple leak fixesÆvar Arnfjörð Bjarmason, Jan 10, 2023
  65. 01/19 tests: mark tests as passing with SANITIZE=leakÆvar Arnfjörð Bjarmason, Jan 10, 2023
  66. 02/19 bundle.c: don't leak the "args" in the "struct child_process"Ævar Arnfjörð Bjarmason, Jan 10, 2023
  67. 03/19 commit-graph: use free_commit_graph() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  68. 04/19 clone: use free() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  69. 06/19 name-rev: don't xstrdup() an already dup'd stringÆvar Arnfjörð Bjarmason, Jan 10, 2023
  70. 05/19 various: add missing clear_pathspec(), fix leaksÆvar Arnfjörð Bjarmason, Jan 10, 2023
  71. 08/19 worktree: fix a trivial leak in prune_worktrees()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  72. 09/19 http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  73. 07/19 repack: fix leaks on error with "goto cleanup"Ævar Arnfjörð Bjarmason, Jan 10, 2023
  74. 12/19 show-branch: free() allocated "head" before returnÆvar Arnfjörð Bjarmason, Jan 10, 2023
  75. 10/19 http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  76. 11/19 commit-graph: fix a parse_options_concat() leakÆvar Arnfjörð Bjarmason, Jan 10, 2023
  77. 13/19 builtin/merge.c: always free "struct strbuf msg"Ævar Arnfjörð Bjarmason, Jan 10, 2023
  78. René ScharfeJan 10, 2023
  79. Junio C HamanoJan 13, 2023
  80. 14/19 builtin/merge.c: free "&buf" on "Your local changes..." errorÆvar Arnfjörð Bjarmason, Jan 10, 2023
  81. 15/19 object-file.c: release the "tag" in check_tag()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  82. 16/19 grep.c: refactor free_grep_patterns()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  83. 17/19 grep API: plug memory leaks by freeing "header_list"Ævar Arnfjörð Bjarmason, Jan 10, 2023
  84. 18/19 receive-pack: free() the "ref_name" in "struct command"Ævar Arnfjörð Bjarmason, Jan 10, 2023
  85. 19/19 push: free_refs() the "local_refs" in set_refspecs()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  86. 00/19 leak fixes: various simple leak fixesÆvar Arnfjörð Bjarmason, Jan 17, 2023
  87. 03/19 commit-graph: use free_commit_graph() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Jan 17, 2023
  88. 04/19 clone: use free() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Jan 17, 2023
  89. 01/19 tests: mark tests as passing with SANITIZE=leakÆvar Arnfjörð Bjarmason, Jan 17, 2023
  90. 02/19 bundle.c: don't leak the "args" in the "struct child_process"Ævar Arnfjörð Bjarmason, Jan 17, 2023
  91. 05/19 various: add missing clear_pathspec(), fix leaksÆvar Arnfjörð Bjarmason, Jan 17, 2023
  92. 06/19 name-rev: don't xstrdup() an already dup'd stringÆvar Arnfjörð Bjarmason, Jan 17, 2023
  93. 07/19 repack: fix leaks on error with "goto cleanup"Ævar Arnfjörð Bjarmason, Jan 17, 2023
  94. 08/19 worktree: fix a trivial leak in prune_worktrees()Ævar Arnfjörð Bjarmason, Jan 17, 2023
  95. Junio C HamanoJan 18, 2023
  96. 20/19 branch: the ref_filter is not cleanedJunio C Hamano, Jan 18, 2023
  97. Ævar Arnfjörð BjarmasonJan 18, 2023
  98. Junio C HamanoJan 18, 2023
  99. Ævar Arnfjörð BjarmasonJan 18, 2023
  100. Junio C HamanoJan 18, 2023
  101. 09/19 http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()Ævar Arnfjörð Bjarmason, Jan 17, 2023
  102. 11/19 commit-graph: fix a parse_options_concat() leakÆvar Arnfjörð Bjarmason, Jan 17, 2023
  103. 10/19 http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()Ævar Arnfjörð Bjarmason, Jan 17, 2023
  104. 12/19 show-branch: free() allocated "head" before returnÆvar Arnfjörð Bjarmason, Jan 17, 2023
  105. 14/19 builtin/merge.c: free "&buf" on "Your local changes..." errorÆvar Arnfjörð Bjarmason, Jan 17, 2023
  106. 13/19 builtin/merge.c: use fixed strings, not "strbuf", fix leakÆvar Arnfjörð Bjarmason, Jan 17, 2023
  107. 16/19 grep.c: refactor free_grep_patterns()Ævar Arnfjörð Bjarmason, Jan 17, 2023
  108. 15/19 object-file.c: release the "tag" in check_tag()Ævar Arnfjörð Bjarmason, Jan 17, 2023
  109. René ScharfeJan 17, 2023
  110. Jeff KingJan 18, 2023
  111. René ScharfeJan 18, 2023
  112. Jeff KingJan 18, 2023
  113. René ScharfeJan 18, 2023
  114. Jeff KingJan 18, 2023
  115. 17/19 grep API: plug memory leaks by freeing "header_list"Ævar Arnfjörð Bjarmason, Jan 17, 2023
  116. 19/19 push: free_refs() the "local_refs" in set_refspecs()Ævar Arnfjörð Bjarmason, Jan 17, 2023
  117. René ScharfeJan 17, 2023
  118. 18/19 receive-pack: free() the "ref_name" in "struct command"Ævar Arnfjörð Bjarmason, Jan 17, 2023
  119. 00/19 leak fixes: various simple leak fixesÆvar Arnfjörð Bjarmason, Jan 18, 2023
  120. 02/19 bundle.c: don't leak the "args" in the "struct child_process"Ævar Arnfjörð Bjarmason, Jan 18, 2023
  121. Elijah NewrenJan 26, 2023
  122. 01/19 tests: mark tests as passing with SANITIZE=leakÆvar Arnfjörð Bjarmason, Jan 18, 2023
  123. 07/19 repack: fix leaks on error with "goto cleanup"Ævar Arnfjörð Bjarmason, Jan 18, 2023
  124. Elijah NewrenJan 26, 2023
  125. 06/19 name-rev: don't xstrdup() an already dup'd stringÆvar Arnfjörð Bjarmason, Jan 18, 2023
  126. 03/19 commit-graph: use free_commit_graph() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Jan 18, 2023
  127. 04/19 clone: use free() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Jan 18, 2023
  128. 05/19 various: add missing clear_pathspec(), fix leaksÆvar Arnfjörð Bjarmason, Jan 18, 2023
  129. 10/19 http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()Ævar Arnfjörð Bjarmason, Jan 18, 2023
  130. 08/19 worktree: fix a trivial leak in prune_worktrees()Ævar Arnfjörð Bjarmason, Jan 18, 2023
  131. 11/19 commit-graph: fix a parse_options_concat() leakÆvar Arnfjörð Bjarmason, Jan 18, 2023
  132. 12/19 show-branch: free() allocated "head" before returnÆvar Arnfjörð Bjarmason, Jan 18, 2023
  133. 09/19 http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()Ævar Arnfjörð Bjarmason, Jan 18, 2023
  134. 17/19 grep API: plug memory leaks by freeing "header_list"Ævar Arnfjörð Bjarmason, Jan 18, 2023
  135. Elijah NewrenJan 26, 2023
  136. 15/19 object-file.c: release the "tag" in check_tag()Ævar Arnfjörð Bjarmason, Jan 18, 2023
  137. 19/19 push: free_refs() the "local_refs" in set_refspecs()Ævar Arnfjörð Bjarmason, Jan 18, 2023
  138. Elijah NewrenJan 26, 2023
  139. 13/19 builtin/merge.c: use fixed strings, not "strbuf", fix leakÆvar Arnfjörð Bjarmason, Jan 18, 2023
  140. 16/19 grep.c: refactor free_grep_patterns()Ævar Arnfjörð Bjarmason, Jan 18, 2023
  141. Elijah NewrenJan 26, 2023
  142. 14/19 builtin/merge.c: free "&buf" on "Your local changes..." errorÆvar Arnfjörð Bjarmason, Jan 18, 2023
  143. Elijah NewrenJan 26, 2023
  144. 18/19 receive-pack: free() the "ref_name" in "struct command"Ævar Arnfjörð Bjarmason, Jan 18, 2023
  145. Elijah NewrenJan 26, 2023
  146. 00/19 leak fixes: various simple leak fixesÆvar Arnfjörð Bjarmason, Feb 2, 2023
  147. 01/19 tests: mark tests as passing with SANITIZE=leakÆvar Arnfjörð Bjarmason, Feb 2, 2023
  148. 03/19 commit-graph: use free_commit_graph() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Feb 2, 2023
  149. 02/19 bundle.c: don't leak the "args" in the "struct child_process"Ævar Arnfjörð Bjarmason, Feb 2, 2023
  150. 04/19 clone: use free() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Feb 2, 2023
  151. 08/19 worktree: fix a trivial leak in prune_worktrees()Ævar Arnfjörð Bjarmason, Feb 2, 2023
  152. 05/19 various: add missing clear_pathspec(), fix leaksÆvar Arnfjörð Bjarmason, Feb 2, 2023
  153. 07/19 repack: fix leaks on error with "goto cleanup"Ævar Arnfjörð Bjarmason, Feb 2, 2023
  154. 09/19 http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()Ævar Arnfjörð Bjarmason, Feb 2, 2023
  155. 11/19 commit-graph: fix a parse_options_concat() leakÆvar Arnfjörð Bjarmason, Feb 2, 2023
  156. 10/19 http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()Ævar Arnfjörð Bjarmason, Feb 2, 2023
  157. 06/19 name-rev: don't xstrdup() an already dup'd stringÆvar Arnfjörð Bjarmason, Feb 2, 2023
  158. 12/19 show-branch: free() allocated "head" before returnÆvar Arnfjörð Bjarmason, Feb 2, 2023
  159. 13/19 builtin/merge.c: use fixed strings, not "strbuf", fix leakÆvar Arnfjörð Bjarmason, Feb 2, 2023
  160. 14/19 builtin/merge.c: free "&buf" on "Your local changes..." errorÆvar Arnfjörð Bjarmason, Feb 2, 2023
  161. 15/19 grep.c: refactor free_grep_patterns()Ævar Arnfjörð Bjarmason, Feb 2, 2023
  162. 16/19 grep API: plug memory leaks by freeing "header_list"Ævar Arnfjörð Bjarmason, Feb 2, 2023
  163. 18/19 push: refactor refspec_append_mapped() for subsequent leak-fixÆvar Arnfjörð Bjarmason, Feb 2, 2023
  164. Junio C HamanoFeb 2, 2023
  165. Ævar Arnfjörð BjarmasonFeb 6, 2023
  166. Junio C HamanoFeb 6, 2023
  167. 17/19 receive-pack: free() the "ref_name" in "struct command"Ævar Arnfjörð Bjarmason, Feb 2, 2023
  168. Junio C HamanoFeb 2, 2023
  169. 19/19 push: free_refs() the "local_refs" in set_refspecs()Ævar Arnfjörð Bjarmason, Feb 2, 2023
  170. Junio C HamanoFeb 2, 2023
  171. Ævar Arnfjörð BjarmasonFeb 6, 2023
  172. 00/19 leak fixes: various simple leak fixesÆvar Arnfjörð Bjarmason, Feb 6, 2023
  173. 01/19 tests: mark tests as passing with SANITIZE=leakÆvar Arnfjörð Bjarmason, Feb 6, 2023
  174. 02/19 bundle.c: don't leak the "args" in the "struct child_process"Ævar Arnfjörð Bjarmason, Feb 6, 2023
  175. 03/19 commit-graph: use free_commit_graph() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Feb 6, 2023
  176. 04/19 clone: use free() instead of UNLEAK()Ævar Arnfjörð Bjarmason, Feb 6, 2023
  177. 06/19 name-rev: don't xstrdup() an already dup'd stringÆvar Arnfjörð Bjarmason, Feb 6, 2023
  178. 05/19 various: add missing clear_pathspec(), fix leaksÆvar Arnfjörð Bjarmason, Feb 6, 2023
  179. 07/19 repack: fix leaks on error with "goto cleanup"Ævar Arnfjörð Bjarmason, Feb 6, 2023
  180. 08/19 worktree: fix a trivial leak in prune_worktrees()Ævar Arnfjörð Bjarmason, Feb 6, 2023
  181. 09/19 http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()Ævar Arnfjörð Bjarmason, Feb 6, 2023
  182. 11/19 commit-graph: fix a parse_options_concat() leakÆvar Arnfjörð Bjarmason, Feb 6, 2023
  183. 10/19 http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()Ævar Arnfjörð Bjarmason, Feb 6, 2023
  184. 12/19 show-branch: free() allocated "head" before returnÆvar Arnfjörð Bjarmason, Feb 6, 2023
  185. 13/19 builtin/merge.c: use fixed strings, not "strbuf", fix leakÆvar Arnfjörð Bjarmason, Feb 6, 2023
  186. 15/19 grep.c: refactor free_grep_patterns()Ævar Arnfjörð Bjarmason, Feb 6, 2023
  187. 14/19 builtin/merge.c: free "&buf" on "Your local changes..." errorÆvar Arnfjörð Bjarmason, Feb 6, 2023
  188. 16/19 grep API: plug memory leaks by freeing "header_list"Ævar Arnfjörð Bjarmason, Feb 6, 2023
  189. 18/19 push: refactor refspec_append_mapped() for subsequent leak-fixÆvar Arnfjörð Bjarmason, Feb 6, 2023
  190. 17/19 receive-pack: release the linked "struct command *" listÆvar Arnfjörð Bjarmason, Feb 6, 2023
  191. 19/19 push: free_refs() the "local_refs" in set_refspecs()Ævar Arnfjörð Bjarmason, Feb 6, 2023
  192. Junio C HamanoFeb 7, 2023
  193. Elijah NewrenFeb 7, 2023

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.