mirror of
https://github.com/git/git.git
synced 2024-11-25 02:44:48 +08:00
blame: handle broken commit headers gracefully
split_ident_line() can leave us with the pointers date_begin, date_end, tz_begin and tz_end all set to NULL. Check them before use and supply the same fallback values as in the case of a negative return code from split_ident_line(). The "(unknown)" is not actually shown in the output, though, because it will be converted to a number (zero) eventually. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
9dbe7c3d7f
commit
de5abe9fe9
@ -1375,10 +1375,15 @@ static void get_ac_line(const char *inbuf, const char *what,
|
||||
maillen = ident.mail_end - ident.mail_begin;
|
||||
mailbuf = ident.mail_begin;
|
||||
|
||||
*time = strtoul(ident.date_begin, NULL, 10);
|
||||
if (ident.date_begin && ident.date_end)
|
||||
*time = strtoul(ident.date_begin, NULL, 10);
|
||||
else
|
||||
*time = 0;
|
||||
|
||||
len = ident.tz_end - ident.tz_begin;
|
||||
strbuf_add(tz, ident.tz_begin, len);
|
||||
if (ident.tz_begin && ident.tz_end)
|
||||
strbuf_add(tz, ident.tz_begin, ident.tz_end - ident.tz_begin);
|
||||
else
|
||||
strbuf_addstr(tz, "(unknown)");
|
||||
|
||||
/*
|
||||
* Now, convert both name and e-mail using mailmap
|
||||
|
Loading…
Reference in New Issue
Block a user