From: Patrick Steinhardt Date: Mon, 21 Oct 2024 08:45:01 GMT Subject: Re: [PATCH 20/21] builtin/merge: release outbut buffer after performing merge Message-ID: In-Reply-To: <877ca5d3dn.fsf@iotcl.com> On Fri, Oct 18, 2024 at 02:03:48PM +0200, Toon Claes wrote: > Patrick Steinhardt writes: > > > The `obuf` member of `struct merge_options` is used to buffer output in > > some cases. In order to not discard its allocated memory we only release > > its contents in `merge_finalize()` when we're not currently recursing > > into a subtree. > > > > This results in some situations where we seemingly do not release the > > buffer reliably. We thus have calls to `strbuf_release()` for this > > buffer scattered across the codebase. But we're missing one callsite in > > git-merge(1), which causes a memory leak. > > > > We should ideally refactor this interface so that callers don't have to > > know about any such internals. But for now, paper over the issue by > > adding one more `strbuf_release()` call. > > Shall we mark this as #leftoverbits? I guess it is now marked as such :) Patrick