Browse Source

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>
maint
Jeff King 11 years ago committed by Junio C Hamano
parent
commit
6876618cea
  1. 2
      commit.c

2
commit.c

@ -594,7 +594,7 @@ static void record_author_date(struct author_date_slab *author_date, @@ -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,

Loading…
Cancel
Save