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

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

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jan 17, 2023, 17:11 UTC
Message-ID
<cover-v4-00.19-00000000000-20230117T151201Z-avarab@gmail.com>
In-Reply-To
<cover-v3-00.19-00000000000-20230110T054138Z-avarab@gmail.com>

See https://lore.kernel.org/git/cover-v3-00.19-00000000000-20230110T054138Z-avarab@gmail.com/ for the v3. Change since then:

 * Reword the subject of a commit message that no longer matched its
   content/body (thanks René).
 * Re-ran "GIT_TEST_PASSING_SANITIZE_LEAK=check
   GIT_TEST_SANITIZE_LEAK_LOG=true make SANITIZE=leak test" with "git
   rebase -i -x", so and updated the leak markings for other fixes
   that have landed on "master" since they were last updated. The tip
   of this (and all intermediate commits) pass the "check" mode.
Æ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/t3203-branch-output.sh                   |  2 ++
 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 +
 73 files changed, 158 insertions(+), 50 deletions(-)
Range-diff against v3:
 1:  f5b67f44e2d =  1:  2ed69e3cda3 tests: mark tests as passing with SANITIZE=leak
 2:  88c6b66be3c =  2:  9993786ba0d bundle.c: don't leak the "args" in the "struct child_process"
 3:  8cc8060cd92 =  3:  8e98d7c4ebf commit-graph: use free_commit_graph() instead of UNLEAK()
 4:  765d5cbcf81 =  4:  966d7657d54 clone: use free() instead of UNLEAK()
 5:  5087fb73286 =  5:  93a8f8fa1b9 various: add missing clear_pathspec(), fix leaks
 6:  39cb8aefb58 =  6:  bd15d991ac7 name-rev: don't xstrdup() an already dup'd string
 7:  a3f1e800127 =  7:  fd890121ebe repack: fix leaks on error with "goto cleanup"
 8:  f918a6f2adc !  8:  1fe25bc6981 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:  56204806dfd =  9:  6b3dd9b15f0 http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()
10:  5355e0fc60b = 10:  246f71bb447 http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()
11:  dfb52dbd1c4 = 11:  ab31d8d10da commit-graph: fix a parse_options_concat() leak
12:  e44e74dcc58 = 12:  9054b353220 show-branch: free() allocated "head" before return
13:  6d99fdcc44e ! 13:  05836b08e0f builtin/merge.c: always free "struct strbuf msg"
    @@ Metadata
     Author: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
     
      ## Commit message ##
    -    builtin/merge.c: always free "struct strbuf msg"
    +    builtin/merge.c: use fixed strings, not "strbuf", fix leak
     
         Follow-up 465028e0e25 (merge: add missing strbuf_release(),
         2021-10-07) and address the "msg" memory leak in this block. We could
14:  a3bf3045597 = 14:  e8ea18b08c2 builtin/merge.c: free "&buf" on "Your local changes..." error
15:  7c70bbdebc8 = 15:  66c24afb893 object-file.c: release the "tag" in check_tag()
16:  17537e1393e = 16:  52744d9690f grep.c: refactor free_grep_patterns()
17:  e4bd46a343e = 17:  8ff63d9095c grep API: plug memory leaks by freeing "header_list"
18:  3e4b12cb623 ! 18:  0ad7d59b881 receive-pack: free() the "ref_name" in "struct command"
    @@ t/t5527-fetch-odd-refs.sh: test_description='test fetching of oddly-named refs'
      
      # afterwards we will have:
     
    + ## t/t5560-http-backend-noserver.sh ##
    +@@ t/t5560-http-backend-noserver.sh: test_description='test git-http-backend-noserver'
    + GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
    + export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
    + 
    ++TEST_PASSES_SANITIZE_LEAK=true
    + . ./test-lib.sh
    + 
    + HTTPD_DOCUMENT_ROOT_PATH="$TRASH_DIRECTORY"
    +
    + ## t/t5561-http-backend.sh ##
    +@@ t/t5561-http-backend.sh: test_description='test git-http-backend'
    + GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
    + export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
    + 
    ++TEST_PASSES_SANITIZE_LEAK=true
    + . ./test-lib.sh
    + . "$TEST_DIRECTORY"/lib-httpd.sh
    + 
    +
    + ## t/t5562-http-backend-content-length.sh ##
    +@@
    + #!/bin/sh
    + 
    + test_description='test git-http-backend respects CONTENT_LENGTH'
    ++
    ++TEST_PASSES_SANITIZE_LEAK=true
    + . ./test-lib.sh
    + 
    + test_lazy_prereq GZIP 'gzip --version'
    +
      ## t/t5705-session-id-in-capabilities.sh ##
     @@
      
19:  d51ed239a8a ! 19:  b3aee41d0b4 push: free_refs() the "local_refs" in set_refspecs()
    @@ t/t1416-ref-transaction-hooks.sh: test_description='reference transaction hooks'
      
      test_expect_success setup '
     
    + ## t/t2402-worktree-list.sh ##
    +@@ t/t2402-worktree-list.sh: test_description='test git worktree list'
    + GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
    + export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
    + 
    ++TEST_PASSES_SANITIZE_LEAK=true
    + . ./test-lib.sh
    + 
    + test_expect_success 'setup' '
    +
      ## t/t5504-fetch-receive-strict.sh ##
     @@ t/t5504-fetch-receive-strict.sh: test_description='fetch/receive strict mode'
      GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
-- 
2.39.0.1225.g30a3d88132d
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 86 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.