This is a series of trivial leak-fixes which allows us to mark a significant number of new tests as entirely passing under SANITIZE=leak. Now that 2da81d1efb0 (Merge branch 'ab/plug-leak-in-revisions', 2022-06-07) has landed we're going to have more & more cases where fixing just one leak will allow us to mark N tests as passing in their entirety. This is the first stepping stone on the way to that end. Ævar Arnfjörð Bjarmason (11): check-ref-format: fix trivial memory leak clone: fix memory leak in copy_ref() call submodule.c: free() memory from xgetcwd() revert: free "struct replay_opts" members cat-file: fix a memory leak in --batch-command mode merge-file: refactor for subsequent memory leak fix merge-file: fix memory leaks on error path checkout: add a missing clear_unpack_trees_porcelain() gc: fix a memory leak cat-file: fix a common "struct object_context" memory leak pull: fix a "struct oid_array" memory leak builtin/cat-file.c | 33 +++++++++++++++++++--------- builtin/check-ref-format.c | 11 +++++++--- builtin/checkout.c | 1 + builtin/clone.c | 1 + builtin/gc.c | 8 ++++++- builtin/merge-file.c | 32 +++++++++++++++------------ builtin/pull.c | 16 +++++++++----- builtin/revert.c | 3 +++ submodule.c | 3 ++- t/t0028-working-tree-encoding.sh | 1 + t/t1051-large-conversion.sh | 2 ++ t/t1402-check-ref-format.sh | 1 + t/t3304-notes-mixed.sh | 1 + t/t4044-diff-index-unique-abbrev.sh | 2 ++ t/t4140-apply-ita.sh | 1 + t/t5314-pack-cycle-detection.sh | 4 ++-- t/t5524-pull-msg.sh | 1 + t/t6403-merge-file.sh | 2 ++ t/t6417-merge-ours-theirs.sh | 1 + t/t6422-merge-rename-corner-cases.sh | 1 + t/t8007-cat-file-textconv.sh | 2 ++ t/t8010-cat-file-filters.sh | 2 ++ t/t9101-git-svn-props.sh | 1 - t/t9104-git-svn-follow-parent.sh | 1 - t/t9132-git-svn-broken-symlink.sh | 1 - t/t9301-fast-import-notes.sh | 1 + 26 files changed, 93 insertions(+), 40 deletions(-) -- 2.37.0.874.g7d3439f13c4