]> git.ipfire.org Git - thirdparty/git.git/commitdiff
mailinfo.c: fix memory leak in function handle_content_type()
authorJinyao Guo <guo846@purdue.edu>
Fri, 13 Jun 2025 19:26:45 +0000 (19:26 +0000)
committerJunio C Hamano <gitster@pobox.com>
Sat, 14 Jun 2025 16:42:14 +0000 (09:42 -0700)
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: Jinyao Guo <guo846@purdue.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
mailinfo.c

index 7b001fa5dbd685cbe2b51c880e961e68461bef31..0e9e0e315d338bd9ab2e22726303703fd4240d05 100644 (file)
@@ -266,6 +266,8 @@ 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);
                        return;
                }
                *(mi->content_top) = boundary;