git-am: handle missing "author" when parsing commit
commit0dfed92dfdb95c2f12df7299bb1e606d79185626
authorJeff King <peff@peff.net>
Thu, 5 Sep 2019 22:50:31 +0000 (5 18:50 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 6 Sep 2019 18:03:39 +0000 (6 11:03 -0700)
tree887916975d1fd4e4897e8eb26133532c77451ad3
parent745f6812895b31c02b29bdfe4ae8e5498f776c26
git-am: handle missing "author" when parsing commit

We try to parse the "author" line out of a commit buffer. We handle the
case that split_ident_line() doesn't work, but we don't do any error
checking that we found an "author" line in the first place! This would
cause us to segfault on such a corrupt object.

Let's put in an explicit NULL check (we can just die(), which is what a
bogus split would do, too). As a bonus, this silences a warning when
compiling with gcc 9.2.1 using "-flto -O3", which claims that ident_len
may be uninitialized (it would only be if we had a NULL here).

Reported-by: Stephan Beyer <s-beyer@gmx.net>
Helped-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/am.c