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

[PATCH 0/5] plugging some list-objects-filter leaks

From
Jeff King <peff@peff.net>
Date
Sep 8, 2022, 04:52 UTC
Message-ID
<Yxl1BNQoy6Drf0Oe@coredump.intra.peff.net>

The test I sent earlier in [1] fails the linux-leaks CI job, not because it introduces new leaks, but just because it runs existing leaks in a test marked as passing-leaks.

Of course we can drop the passing flag, but I figured it would probably be an easy fix. Famous last words. It turned into quite a rabbit hole of actual leaks (albeit small and bounded per process) and some questionable memory ownership semantics.

Here's the series I came up with. I'm cc-ing Stolee as the last person unfortunate enough to have touched this area. :)

  [1/5]: list_objects_filter_copy(): deep-copy sparse_oid_name field
  [2/5]: transport: deep-copy object-filter struct for fetch-pack
  [3/5]: transport: free filter options in disconnect_git()
  [4/5]: list_objects_filter_options: plug leak of filter_spec strings
  [5/5]: prepare_repo_settings(): plug leak of config values
 list-objects-filter-options.c | 20 ++++++++++++++------
 repo-settings.c               |  7 +++----
 transport.c                   |  5 ++++-
 3 files changed, 21 insertions(+), 11 deletions(-)
-Peff
[1] https://lore.kernel.org/git/YxkG3A30vNfu55Sx@coredump.intra.peff.net/
Next: Jeff King
Message 1 of 8 in “plugging some list-objects-filter leaks”
  1. 0/5 plugging some list-objects-filter leaksJeff King, Sep 8, 2022
  2. 1/5 list_objects_filter_copy(): deep-copy sparse_oid_name fieldJeff King, Sep 8, 2022
  3. 2/5 transport: deep-copy object-filter struct for fetch-packJeff King, Sep 8, 2022
  4. 3/5 transport: free filter options in disconnect_git()Jeff King, Sep 8, 2022
  5. 4/5 list_objects_filter_options: plug leak of filter_spec stringsJeff King, Sep 8, 2022
  6. 5/5 prepare_repo_settings(): plug leak of config valuesJeff King, Sep 8, 2022
  7. Derrick StoleeSep 9, 2022
  8. Jeff KingSep 11, 2022

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.