diff --git a/Userland/Libraries/LibWasm/AbstractMachine/AbstractMachine.h b/Userland/Libraries/LibWasm/AbstractMachine/AbstractMachine.h index 95cc31771b..29d3c414b8 100644 --- a/Userland/Libraries/LibWasm/AbstractMachine/AbstractMachine.h +++ b/Userland/Libraries/LibWasm/AbstractMachine/AbstractMachine.h @@ -350,6 +350,9 @@ public: if (size_to_grow == 0) return true; auto new_size = m_data.size() + size_to_grow; + // Can't grow past 2^16 pages. + if (new_size >= Constants::page_size * 65536) + return false; if (auto max = m_type.limits().max(); max.has_value()) { if (max.value() * Constants::page_size < new_size) return false;