Re: [PATCH 20/21] builtin/merge: release outbut buffer after performing merge
On Fri, Oct 18, 2024 at 02:03:48PM +0200, Toon Claes wrote:
Show 17 quoted lines
> Patrick Steinhardt <ps@pks.im> 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