git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] mailinfo: avoid segfault when can't open files

From
Juan F. Codagnone <jcodagnone@gmail.com>
Date
Jan 24, 2018, 02:54 UTC
Message-ID
<20180124025417.32497-1-jcodagnone@gmail.com>

If <msg> or <patch> files can't be opened, clear_mailinfo crash as it follows NULL pointers.

Can be reproduced using `git mailinfo . .`
Signed-off-by: Juan F. Codagnone <jcodagnone@gmail.com>
---
 mailinfo.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/mailinfo.c b/mailinfo.c
index a89db22ab..035abbbf5 100644
--- a/mailinfo.c
+++ b/mailinfo.c
@@ -1167,11 +1167,13 @@ void clear_mailinfo(struct mailinfo *mi)
 	strbuf_release(&mi->inbody_header_accum);
 	free(mi->message_id);
 
-	for (i = 0; mi->p_hdr_data[i]; i++)
-		strbuf_release(mi->p_hdr_data[i]);
+	if(mi->p_hdr_data != NULL)
+		for (i = 0; mi->p_hdr_data[i]; i++)
+			strbuf_release(mi->p_hdr_data[i]);
 	free(mi->p_hdr_data);
-	for (i = 0; mi->s_hdr_data[i]; i++)
-		strbuf_release(mi->s_hdr_data[i]);
+	if(mi->s_hdr_data != NULL)
+		for (i = 0; mi->s_hdr_data[i]; i++)
+			strbuf_release(mi->s_hdr_data[i]);
 	free(mi->s_hdr_data);
 
 	while (mi->content < mi->content_top) {
-- 
2.14.3
Next: Jeff King
Message 1 of 5 in “mailinfo: avoid segfault when can't open files”
  1. mailinfo: avoid segfault when can't open filesJuan F. Codagnone, Jan 24, 2018
  2. Jeff KingJan 24, 2018
  3. Juan F. CodagnoneJan 24, 2018
  4. Jeff KingJan 24, 2018
  5. mailinfo: avoid segfault when can't open filesJuan F. Codagnone, Jan 24, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.