From 4738716a9ce539dfc74aaad4fe55b8135c0681b5 Mon Sep 17 00:00:00 2001
From: "Sven M. Hallberg" <pesco@khjk.org>
Date: Fri, 19 Jun 2020 22:07:18 +0200
Subject: [PATCH] detect missing linefeed after 'stream' keyword

---
 pdf.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/pdf.c b/pdf.c
index 8f4c3fd..d7c2106 100644
--- a/pdf.c
+++ b/pdf.c
@@ -1052,8 +1052,9 @@ init_parser(struct Env *aux)
 	h_bind_indirect(array, array_);
 
 	/* streams */
-	H_RULE(stmbeg,	SEQ(dict, OPT(ws), LIT("stream"), OPT(cr), lf));
-	H_RULE(stmend, CHX(SEQ(eol, LIT("endstream")),
+	H_RULE(stmbeg,	SEQ(dict, OPT(ws), LIT("stream"), OPT(cr),
+			    CHX(lf, VIOL(epsilon, "No linefeed after 'stream' (severity=7)"))));
+	H_RULE(stmend,	CHX(SEQ(eol, LIT("endstream")),
 			   VIOL(LIT("ndstream"), "Stream length >1-too-long (severity=10)"),
 			   VIOL(SEQ(h_many1(wchar), LIT("endstream")),
 				"No newline before endstream (severity=7)"),
-- 
GitLab