diff --git a/Userland/Libraries/LibWasm/AbstractMachine/AbstractMachine.h b/Userland/Libraries/LibWasm/AbstractMachine/AbstractMachine.h index 3302b148fa..95cc31771b 100644 --- a/Userland/Libraries/LibWasm/AbstractMachine/AbstractMachine.h +++ b/Userland/Libraries/LibWasm/AbstractMachine/AbstractMachine.h @@ -350,8 +350,10 @@ public: if (size_to_grow == 0) return true; auto new_size = m_data.size() + size_to_grow; - if (m_type.limits().max().value_or(new_size) < new_size) - return false; + if (auto max = m_type.limits().max(); max.has_value()) { + if (max.value() * Constants::page_size < new_size) + return false; + } auto previous_size = m_size; m_data.resize(new_size); m_size = new_size;