From 724b89f90c859d45ebd66998465549bc99cd313f Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Sun, 30 May 2021 10:34:52 +0430 Subject: [PATCH] LibJS: Make missing variable decls in for..in/of a syntax error ...instead of a hard crash :P --- Userland/Libraries/LibJS/Parser.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibJS/Parser.cpp b/Userland/Libraries/LibJS/Parser.cpp index 12d4f10af1..33b7ae6c4c 100644 --- a/Userland/Libraries/LibJS/Parser.cpp +++ b/Userland/Libraries/LibJS/Parser.cpp @@ -1961,7 +1961,9 @@ NonnullRefPtr Parser::parse_for_in_of_statement(NonnullRefPtr(*lhs).declarations(); if (declarations.size() > 1) syntax_error("multiple declarations not allowed in for..in/of"); - if (declarations.first().init() != nullptr) + if (declarations.size() < 1) + syntax_error("need exactly one variable declaration in for..in/of"); + else if (declarations.first().init() != nullptr) syntax_error("variable initializer not allowed in for..in/of"); } auto in_or_of = consume();