diff --git a/src/arena_allocator.cpp b/src/arena_allocator.cpp index 3523044..9719b09 100644 --- a/src/arena_allocator.cpp +++ b/src/arena_allocator.cpp @@ -376,10 +376,9 @@ void ArenaAllocator::add_block(size_t size) { } size_t ArenaAllocator::calculate_next_block_size(size_t required_size) const { - size_t doubled_size = total_allocated() * 2; + size_t doubled_size = (current_block_ ? current_block_->size : 0) * 2; doubled_size = std::min(doubled_size, std::numeric_limits::max()); - return std::max(required_size, doubled_size); }