summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-02-13 21:39:14 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-02-13 21:39:14 (GMT)
commit46e915c42bdef79caf65ebdd26ee39aa0c011ebc (patch)
tree356f37630a97bb80a241cefe89a85707f1c0da72
parentcbf0240f82fc6b7072c7d18fa56caace4902a44b (diff)
parent4e801463c7d2b26de747d3684cf75b722b0594af (diff)
downloadgit-46e915c42bdef79caf65ebdd26ee39aa0c011ebc.zip
git-46e915c42bdef79caf65ebdd26ee39aa0c011ebc.tar.gz
git-46e915c42bdef79caf65ebdd26ee39aa0c011ebc.tar.bz2
Merge branch 'jc/mailinfo-cleanup-fix'
Corner case bugfix. * jc/mailinfo-cleanup-fix: mailinfo: avoid segfault when can't open files
-rw-r--r--mailinfo.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/mailinfo.c b/mailinfo.c
index a89db22..d04142c 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)
+ 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)
+ 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) {