|
@@ -350,6 +350,9 @@ public:
|
|
if (size_to_grow == 0)
|
|
if (size_to_grow == 0)
|
|
return true;
|
|
return true;
|
|
auto new_size = m_data.size() + size_to_grow;
|
|
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 (auto max = m_type.limits().max(); max.has_value()) {
|
|
if (max.value() * Constants::page_size < new_size)
|
|
if (max.value() * Constants::page_size < new_size)
|
|
return false;
|
|
return false;
|