From: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date: Sun, 1 Nov 2015 14:30:30 +0000 (+0100)
Subject: mailinfo: fix passing wrong address to git_mailinfo_config
X-Git-Tag: v2.7.0-rc0~48^2
X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/85d9d9ddf38aba0c13a1be8f667af6b8cf021ca6

mailinfo: fix passing wrong address to git_mailinfo_config

git_mailinfo_config() expects "struct mailinfo *". But in
setup_mailinfo(), "mi" is already "struct mailinfo *". &mi would make
it "struct mailinfo **" and git_mailinfo_config() would damage some
other memory when it assigns some value to mi->use_scissors.

This is caught by t4150.20. git_mailinfo_config() breaks
mi->name.alloc and makes strbuf_release() in clear_mailinfo() attempt
to free strbuf_slopbuf.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---

diff --git a/mailinfo.c b/mailinfo.c
index e157ca6eb5..f289941f7e 100644
--- a/mailinfo.c
+++ b/mailinfo.c
@@ -1009,7 +1009,7 @@ void setup_mailinfo(struct mailinfo *mi)
 	mi->header_stage = 1;
 	mi->use_inbody_headers = 1;
 	mi->content_top = mi->content;
-	git_config(git_mailinfo_config, &mi);
+	git_config(git_mailinfo_config, mi);
 }
 
 void clear_mailinfo(struct mailinfo *mi)