mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-26 11:20:03 +00:00
Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe
This commit is contained in:
committed by
Andreas Kling
parent
3a9f00c59b
commit
97e97bccab
@@ -2106,6 +2106,8 @@ Value ArrayExpression::execute(Interpreter& interpreter, GlobalObject& global_ob
|
||||
InterpreterNodeScope node_scope { interpreter, *this };
|
||||
|
||||
auto* array = Array::create(global_object, 0);
|
||||
array->indexed_properties();
|
||||
size_t index = 0;
|
||||
for (auto& element : m_elements) {
|
||||
auto value = Value();
|
||||
if (element) {
|
||||
@@ -2115,7 +2117,7 @@ Value ArrayExpression::execute(Interpreter& interpreter, GlobalObject& global_ob
|
||||
|
||||
if (is<SpreadExpression>(*element)) {
|
||||
get_iterator_values(global_object, value, [&](Value iterator_value) {
|
||||
array->indexed_properties().append(iterator_value);
|
||||
array->indexed_properties().put(index++, iterator_value, default_attributes);
|
||||
return IterationDecision::Continue;
|
||||
});
|
||||
if (interpreter.exception())
|
||||
@@ -2123,7 +2125,7 @@ Value ArrayExpression::execute(Interpreter& interpreter, GlobalObject& global_ob
|
||||
continue;
|
||||
}
|
||||
}
|
||||
array->indexed_properties().append(value);
|
||||
array->indexed_properties().put(index++, value, default_attributes);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user