LibJS: Handle "for" statements with empty initializer and updater

This commit is contained in:
Andreas Kling 2020-03-25 16:14:18 +01:00
commit 6c9d2cfa5e
Notes: sideshowbarker 2024-07-19 08:08:02 +09:00
3 changed files with 26 additions and 2 deletions

View file

@ -126,7 +126,7 @@ Value ForStatement::execute(Interpreter& interpreter) const
{
RefPtr<BlockStatement> wrapper;
if (m_init->is_variable_declaration() && static_cast<const VariableDeclaration*>(m_init.ptr())->declaration_type() != DeclarationType::Var) {
if (m_init && m_init->is_variable_declaration() && static_cast<const VariableDeclaration*>(m_init.ptr())->declaration_type() != DeclarationType::Var) {
wrapper = create_ast_node<BlockStatement>();
interpreter.enter_scope(*wrapper, {}, ScopeType::Block);
}