builtin/blame: destroy initialized commit_info only
commite60059276b26db5760e36aa85cf1091f662430fb
authorEric Sunshine <sunshine@sunshineco.com>
Mon, 9 Feb 2015 21:28:07 +0000 (9 16:28 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 10 Feb 2015 18:31:48 +0000 (10 10:31 -0800)
tree0e107adab2b3b6ad7e093be2adec357f81f1e611
parent3d8a54eb37d298c251c0b6823dc06935a611bc33
builtin/blame: destroy initialized commit_info only

Since ea02ffa3 (mailmap: simplify map_user() interface, 2013-01-05),
find_alignment() has been invoking commit_info_destroy() on an
uninitialized auto 'struct commit_info' (when METAINFO_SHOWN is not
set). commit_info_destroy() calls strbuf_release() for each
'commit_info' strbuf member, which randomly invokes free() on
whatever random stack value happens to reside in strbuf.buf, thus
leading to periodic crashes.

Reported-by: Dilyan Palauzov <dilyan.palauzov@aegee.org>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/blame.c