Subject: [PATCH 00/20] Memory leak fixes (pt.5)

From: Patrick Steinhardt <[email-masked]>
Date: Tue, 20 Aug 2024 16:04:58 +0200

Hi,

another week, another set of memory leak fixes. With this series we're
down to ~128 leaking test suites, down from 359 before starting with
this effort. So we're about 2/3rds done. Naturally, part 6 is also
almost ready.

This series is built on top of bb9c16bd4f (The sixth batch, 2024-08-19)
with Junio's ps/leakfixes-part-4 at 77d4b3dd73 (builtin/diff: free
symmetric diff members, 2024-08-14) merged into it.

Thanks!

Patrick

Patrick Steinhardt (20):
  mailinfo: fix leaking header data
  convert: fix leaks when resetting attributes
  pretty: fix memory leaks when parsing pretty formats
  pretty: fix leaking key/value separator buffer
  builtin/merge-tree: fix leaking `-X` strategy options
  builtin/upload-archive: fix leaking args passed to `write_archive()`
  builtin/archive: fix leaking `OPT_FILENAME()` value
  midx-write: fix leaking hashfile on error cases
  builtin/repack: fix leaks when computing packs to repack
  t/helper: fix leaking multi-pack-indices in "read-midx"
  transport: fix leaking OID arrays in git:// transport data
  builtin/send-pack: fix leaking refspecs
  sideband: fix leaks when configuring sideband colors
  builtin/fetch-pack: fix leaking refs
  remote: fix leaking config strings
  remote: fix leaks when matching refspecs
  remote: fix leaking peer ref when expanding refmap
  builtin/fetch: fix leaking transaction with `--atomic`
  transport: fix leaking arguments when fetching from bundle
  transport: fix leaking negotiation tips

 archive.c                           | 10 ++++++
 builtin/archive.c                   |  7 ++--
 builtin/fetch-pack.c                | 20 ++++++-----
 builtin/fetch.c                     |  8 ++---
 builtin/merge-tree.c                | 13 +++++--
 builtin/repack.c                    | 36 ++++++++++++++-----
 builtin/send-pack.c                 |  1 +
 builtin/upload-archive.c            |  8 +++--
 convert.c                           |  3 ++
 mailinfo.c                          | 17 +++++++--
 midx-write.c                        | 24 ++++++-------
 pretty.c                            | 13 +++++--
 remote.c                            | 55 +++++++++++++++++++++--------
 sideband.c                          |  8 +++--
 t/helper/test-read-midx.c           |  8 ++++-
 t/t4150-am.sh                       |  1 +
 t/t4205-log-pretty-formats.sh       |  2 ++
 t/t4301-merge-tree-write-tree.sh    |  1 +
 t/t5000-tar-tree.sh                 |  1 +
 t/t5003-archive-zip.sh              |  1 +
 t/t5100-mailinfo.sh                 |  1 +
 t/t5319-multi-pack-index.sh         |  2 ++
 t/t5400-send-pack.sh                |  1 +
 t/t5401-update-hooks.sh             |  2 ++
 t/t5408-send-pack-stdin.sh          |  2 ++
 t/t5409-colorize-remote-messages.sh |  1 +
 t/t5501-fetch-push-alternates.sh    |  1 +
 t/t5505-remote.sh                   |  1 +
 t/t5510-fetch.sh                    |  1 +
 t/t5519-push-alternates.sh          |  1 +
 t/t5536-fetch-conflicts.sh          |  1 +
 t/t5548-push-porcelain.sh           |  1 +
 t/t5553-set-upstream.sh             |  1 +
 t/t5574-fetch-output.sh             |  1 +
 t/t5703-upload-pack-ref-in-want.sh  |  1 +
 t/t5812-proto-disable-http.sh       |  2 ++
 t/t6050-replace.sh                  |  1 +
 t/t7704-repack-cruft.sh             |  1 +
 transport.c                         |  8 +++++
 39 files changed, 203 insertions(+), 64 deletions(-)

-- 
2.46.0.164.g477ce5ccd6.dirty