The function handle_content_type allocates memory for boundary using xmalloc(sizeof(struct strbuf)). If (++mi->content_top >= &mi->content[MAX_BOUNDARIES]) is true, the function returns without freeing boundary. Signed-off-by: Alex Guo <alexguo1023@xxxxxxxxx> Signed-off-by: jinyaoguo <guo846@xxxxxxxxxx> --- mailinfo.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mailinfo.c b/mailinfo.c index ee4597da6b..e0ea358311 100644 --- a/mailinfo.c +++ b/mailinfo.c @@ -266,6 +266,9 @@ static void handle_content_type(struct mailinfo *mi, struct strbuf *line) error("Too many boundaries to handle"); mi->input_error = -1; mi->content_top = &mi->content[MAX_BOUNDARIES] - 1; + strbuf_release(boundary); + free(boundary); + boundary = NULL; return; } *(mi->content_top) = boundary; -- 2.34.1 ________________________________________ From: Kristoffer Haugsbakk <kristofferhaugsbakk@xxxxxxxxxxxx> Sent: Friday, June 13, 2025 12:59 To: Josh Soref <gitgitgadget@xxxxxxxxx>; git@xxxxxxxxxxxxxxx <git@xxxxxxxxxxxxxxx> Cc: Alex <alexguo1023@xxxxxxxxx>; Jinyao Guo <guo846@xxxxxxxxxx> Subject: Re: [PATCH] Fix memory leak in function handle_content_type [You don't often get email from kristofferhaugsbakk@xxxxxxxxxxxx. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ] ---- External Email: Use caution with attachments, links, or sharing data ---- On Fri, Jun 13, 2025, at 18:52, Alex via GitGitGadget wrote: > From: jinyaoguo <guo846@xxxxxxxxxx> > > [snip] > > Signed-off-by: Alex Guo <alexguo1023@xxxxxxxxx> Like what was said on another patch[1] the From and Signed-off-by names need to match. I didn?t see a resolution to that? If forwarding you need to add your signoff after theirs. [1]: https://lore.kernel.org/git/xmqq1psfxgyv.fsf@gitster.g/ -- Kristoffer Haugsbakk