--- a/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc +++ b/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc @@ -506,6 +506,9 @@ partition_page_count <= kMaxPartitionPagesPerRegularSlotSpan; partition_page_count++) { size_t candidate_size = partition_page_count * PartitionPageSize(); + if (candidate_size > kMaxBucketed) { + break; + } size_t waste = candidate_size % slot_size; if (waste <= .02 * SystemPageSize()) { return partition_page_count * NumSystemPagesPerPartitionPage(); @@ -522,6 +525,9 @@ size_t system_page_count = partition_page_count * NumSystemPagesPerPartitionPage() - slack; size_t candidate_size = system_page_count * SystemPageSize(); + if (candidate_size > kMaxBucketed) { + break; + } size_t waste = candidate_size % slot_size; if (waste < best_waste) { best_waste = waste;