From 1245156f44110f214c207ee2350be07faa8add29 Mon Sep 17 00:00:00 2001 From: Justin Viiret Date: Fri, 3 Feb 2017 11:39:06 +1100 Subject: [PATCH] parser: handle "control verbs" without close paren --- src/parser/Parser.rl | 3 +++ unit/hyperscan/bad_patterns.txt | 1 + 2 files changed, 4 insertions(+) diff --git a/src/parser/Parser.rl b/src/parser/Parser.rl index 6f4fd80a..52b3340c 100644 --- a/src/parser/Parser.rl +++ b/src/parser/Parser.rl @@ -569,6 +569,9 @@ unichar readUtf8CodePoint4c(const char *s) { assert(0); // Should have thrown a parse error. throw LocatedParseError("Unknown control verb"); }; + any => { + throw LocatedParseError("Unknown control verb"); + }; *|; ############################################################# diff --git a/unit/hyperscan/bad_patterns.txt b/unit/hyperscan/bad_patterns.txt index d4de452a..d970761a 100644 --- a/unit/hyperscan/bad_patterns.txt +++ b/unit/hyperscan/bad_patterns.txt @@ -135,3 +135,4 @@ 138:/(*UNKNOWNVERB)foobar/ #Unknown control verb (*UNKNOWNVERB) at index 0. 139:/foo(*UTF8)bar/ #(*UTF8) must be at start of expression, encountered at index 5. 140:/(?i)(*UTF8)foobar/ #(*UTF8) must be at start of expression, encountered at index 6. +141:/(*@&/ #Unknown control verb at index 2.