Re: [PATCH] Fix memory leak in function handle_content_type
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 14, 2025, 16:45 UTC
- Message-ID
- <xmqq1prm6zlx.fsf@gitster.g>
- In-Reply-To
- <SA1PR22MB399911638F342E1AA20F014AE477A@SA1PR22MB3999.namprd22.prod.outlook.com>
Jinyao Guo <guo846@purdue.edu> writes:
Show 10 quoted lines
> @@ -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;"boundary" is a on-stack local variable. There is no need to assign NULL to it immediately before you return. In the post-context of this hunk, we free it but leave the variable pointing at a random place after that before returning.