patch_parse: check if advancing over header newline succeeds

While parsing patch header lines, we iterate over each line and check if
the line has trailing garbage. What we do not check though is that the
line is actually a line ending with a trailing newline.

Fix this by checking the return code of `parse_advance_expected_str`.
This commit is contained in:
Patrick Steinhardt 2017-03-20 09:35:23 +01:00
parent 8d452448bb
commit 723bdf4864

View File

@ -444,9 +444,9 @@ static int parse_header_git(
goto done;
parse_advance_ws(ctx);
parse_advance_expected_str(ctx, "\n");
if (ctx->line_len > 0) {
if (parse_advance_expected_str(ctx, "\n") < 0 ||
ctx->line_len > 0) {
error = parse_err("trailing data at line %"PRIuZ, ctx->line_num);
goto done;
}