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

Re: [PATCH] revision: fix memory leak in prepare_show_merge()

From
lidongyan <502024330056@smail.nju.edu.cn>
Date
Jun 4, 2025, 10:25 UTC
Message-ID
<A9669AE9-7A0B-43C1-A1E7-99B6EAF5F6C1@smail.nju.edu.cn>
In-Reply-To
<aD_-io1eppd1Rnq5@pks.im>
2025年6月4日 16:06,Patrick Steinhardt <ps@pks.im> 写道:
Show 45 quoted lines
> 
> On Wed, Jun 04, 2025 at 03:53:44PM +0800, lidongyan wrote:
>> 2025年6月4日 15:48,Patrick Steinhardt <ps@pks.im> 写道:
>>> 
>>> On Wed, Jun 04, 2025 at 03:08:56AM +0000, Lidong Yan via GitGitGadget wrote:
>>>> From: Lidong Yan <502024330056@smail.nju.edu.cn>
>>>> 
>>>> In revision.c:prepare_show_merge(), we allocated an array in prune
>>>> but forget to free it. Since parse_pathspec is not responsible to
>>>> free prune, we should add `free(prune)` in the end of prepare_show_merge().
>>> 
>>> That is a rather obvious memory leak indeed. Do you know why we never
>>> detected the leak in our CI? Is this code path not exercised at all by
>>> our tests?
>>> 
>>> Patrick
>>> 
>> 
>> I don’t know why CI test doesn’t cover this leak, but I am happy to add
>> a prereq test for this case.
>> 
>> p.s. I also like to ask that it there anyway to run test locally? How do you
>> developers normally run test without open an pull request.
> 
> Do you mean the test suite in general or leak tests in particular? In
> any case, you can of course run both of these locally. You can do so
> either by using Make:
> 
>    # Run tests.
>    $ make test
>    # Run tests with the leak checking enabled.
>    $ make test SANITIZE=leak
> 
> Or with Meson:
> 
>    # Create the build directory and execute tests.
>    $ meson setup build
>    $ meson test -C build
> 
>    # Create a second build directory, this time with leak checking
>    # enabled.
>    $ meson setup build-leaks -Db_sanitize=leak
>    $ meson test -C build-leaks
> 
> Patrick

Got it, thank you Lidong

Previous: Patrick SteinhardtNext: Junio C Hamano
Message 5 of 12 in “revision: fix memory leak in prepare_show_merge()”
  1. revision: fix memory leak in prepare_show_merge()Lidong Yan via GitGitGadget, Jun 4, 2025
  2. Patrick SteinhardtJun 4, 2025
  3. lidongyanJun 4, 2025
  4. Patrick SteinhardtJun 4, 2025
  5. lidongyanJun 4, 2025
  6. Junio C HamanoJun 5, 2025
  7. lidongyanJun 6, 2025
  8. Junio C HamanoJun 6, 2025
  9. lidongyanJun 9, 2025
  10. revision: fix memory leak in prepare_show_merge()Lidong Yan via GitGitGadget, Jun 9, 2025
  11. Junio C HamanoJun 9, 2025
  12. revision: fix memory leak in prepare_show_merge()Lidong Yan via GitGitGadget, Jun 10, 2025

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.