record_author_date(): fix memory leak on malformed commit

If we hit the end-of-header without finding an "author"
line, we just return from the function. We should jump to
the fail_exit path to clean up the buffer that we may have
allocated.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2014-08-27 03:56:31 -04:00 committed by Junio C Hamano
parent fe6eb7f2c5
commit 6876618cea

View File

@ -594,7 +594,7 @@ static void record_author_date(struct author_date_slab *author_date,
line_end = strchrnul(buf, '\n');
if (!skip_prefix(buf, "author ", &ident_line)) {
if (!line_end[0] || line_end[1] == '\n')
return; /* end of header */
goto fail_exit; /* end of header */
continue;
}
if (split_ident_line(&ident,