Browse Source

LibRegex: Stop trying to read a character class when no tokens remain

e.g. in "[".
Fixes #4186.
AnotherTest 4 years ago
parent
commit
e83e7a03c2
1 changed files with 5 additions and 0 deletions
  1. 5 0
      Libraries/LibRegex/RegexParser.cpp

+ 5 - 0
Libraries/LibRegex/RegexParser.cpp

@@ -1236,6 +1236,11 @@ bool ECMA262Parser::parse_nonempty_class_ranges(Vector<CompareTypeAndValuePair>&
     };
     };
 
 
     while (!match(TokenType::RightBracket)) {
     while (!match(TokenType::RightBracket)) {
+        if (match(TokenType::Eof)) {
+            set_error(Error::MismatchingBracket);
+            return false;
+        }
+
         auto first_atom = read_class_atom();
         auto first_atom = read_class_atom();
         if (!first_atom.has_value())
         if (!first_atom.has_value())
             return false;
             return false;