mbox series

[00/20] leak fixes: various simple leak fixes

Message ID cover-00.20-00000000000-20221228T175512Z-avarab@gmail.com (mailing list archive)
Headers show
Series leak fixes: various simple leak fixes | expand

Message

Ævar Arnfjörð Bjarmason Dec. 28, 2022, 6 p.m. UTC
This is a follow-up to the ab/various-leak-fixes topic merged in
9ea1378d046 (Merge branch 'ab/various-leak-fixes', 2022-12-14). Like
that topic this is mixed collection of various leak fixes, all of
which should be simple to review & reason about.

With this series we'll all 32 more tests to the linux-leaks CI job, as
they're now leak-free, out of those 11 are made leak-free in this
topic, the others are already leak-free, but aren't being tested in
CI.

Ævar Arnfjörð Bjarmason (20):
  t6021: mark as passing with SANITIZE=leak
  tests: mark tests as passing with SANITIZE=leak
  bundle.c: don't leak the "args" in the "struct child_process"
  commit-graph: use free() instead of UNLEAK()
  clone: use free() instead of UNLEAK()
  archive.c: call clear_pathspec() in write_archive()
  stash: fix a "struct pathspec" leak
  reset: fix cmd_reset() leaks with a clear_pathspec() call
  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 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: always free "struct strbuf msg"
  builtin/merge.c: free "&buf" on "Your local changes..." error
  connected.c: free(new_pack) in check_connected()
  object-file.c: free the "t.tag" in check_tag()
  grep.c: make it easier to extend free_grep_patterns()
  grep API: plug memory leaks by freeing "header_list"

 archive.c                                  |  1 +
 builtin/clone.c                            |  5 +++--
 builtin/commit-graph.c                     | 10 ++++++----
 builtin/merge.c                            |  5 ++++-
 builtin/name-rev.c                         |  3 ++-
 builtin/repack.c                           | 13 +++++++------
 builtin/reset.c                            | 11 ++++++++---
 builtin/show-branch.c                      |  1 +
 builtin/stash.c                            |  9 ++++++---
 builtin/worktree.c                         |  6 +++---
 bundle.c                                   |  6 ++++--
 connected.c                                | 13 +++++++------
 grep.c                                     | 15 ++++++++++-----
 http-backend.c                             |  7 +++++--
 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/t2401-worktree-prune.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/t5502-quickfetch.sh                      |  1 +
 t/t5604-clone-reference.sh                 |  1 +
 t/t5613-info-alternate.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/t7403-submodule-sync.sh                  |  1 +
 t/t7701-repack-unpack-unreachable.sh       |  1 +
 47 files changed, 108 insertions(+), 38 deletions(-)