diff --git a/pdf.c b/pdf.c index 9ad84b323b8a2fdf37d7cb7a002d25bb2c2ca2b4..ce648cbad0a7987cf00cbfcc9d71a260a171a3d6 100644 --- a/pdf.c +++ b/pdf.c @@ -661,7 +661,11 @@ init_parser(struct Env *aux) /* body */ H_RULE(indobj, CHX(stream, obj)); - H_RULE(objdef, SEQ(ws, npair, wel, KW("obj"), ws, indobj, KW("endobj"))); + H_RULE(objdef, SEQ(ws, npair, wel, KW("obj"), ws, indobj, + CHX(VIOL(SEQ(KW("endobj"), h_many(CHX(wel, eol)), h_many1(KW("endobj"))), + "More than 1 endobj token (severity=1)"), + KW("endobj"), + VIOL(h_optional(KW("endobj")), "Missing endobj token (severity=1)")))); H_RULE(body, h_many(objdef)); /* for object streams */