From 9cb570039891b88a8d75c3fae761f617c340e2b7 Mon Sep 17 00:00:00 2001 From: davidot Date: Mon, 27 Sep 2021 22:29:49 +0200 Subject: [PATCH] LibJS: Disallow comma after rest parameter in formal parameters --- Userland/Libraries/LibJS/Parser.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Userland/Libraries/LibJS/Parser.cpp b/Userland/Libraries/LibJS/Parser.cpp index cb31c63a9b..b39f118c2c 100644 --- a/Userland/Libraries/LibJS/Parser.cpp +++ b/Userland/Libraries/LibJS/Parser.cpp @@ -1990,11 +1990,9 @@ Vector Parser::parse_formal_parameters(int& function_le syntax_error("Generator function parameter initializer cannot contain a reference to an identifier named \"yield\""); } parameters.append({ move(parameter), default_value, is_rest }); - if (match(TokenType::ParenClose)) + if (match(TokenType::ParenClose) || is_rest) break; consume(TokenType::Comma); - if (is_rest) - break; } if (parse_options & FunctionNodeParseOptions::IsSetterFunction && parameters.is_empty()) syntax_error("Setter function must have one argument");