diff --git a/Libraries/LibJS/Parser.cpp b/Libraries/LibJS/Parser.cpp index 31807cad174..a74e042b6da 100644 --- a/Libraries/LibJS/Parser.cpp +++ b/Libraries/LibJS/Parser.cpp @@ -719,7 +719,7 @@ NonnullRefPtr Parser::parse_template_literal(bool is_tagged) if (!match(TokenType::TemplateLiteralString)) append_empty_string(); - while (!match(TokenType::TemplateLiteralEnd) && !match(TokenType::UnterminatedTemplateLiteral)) { + while (!done() && !match(TokenType::TemplateLiteralEnd) && !match(TokenType::UnterminatedTemplateLiteral)) { if (match(TokenType::TemplateLiteralString)) { auto token = consume(); expressions.append(parse_string_literal(token)); @@ -741,6 +741,9 @@ NonnullRefPtr Parser::parse_template_literal(bool is_tagged) if (!match(TokenType::TemplateLiteralString)) append_empty_string(); + } else { + expected("Template literal string or expression"); + break; } }