diff --git a/src/add-ons/disk_systems/intel/PartitionMapAddOn.cpp b/src/add-ons/disk_systems/intel/PartitionMapAddOn.cpp index 4dc6b2a3f4..f4cbb0aa1e 100644 --- a/src/add-ons/disk_systems/intel/PartitionMapAddOn.cpp +++ b/src/add-ons/disk_systems/intel/PartitionMapAddOn.cpp @@ -90,8 +90,10 @@ PartitionMapAddOn::CreatePartitionHandle(BMutablePartition* partition, bool PartitionMapAddOn::CanInitialize(const BMutablePartition* partition) { - // If it's big enough, we can initialize it. - return partition->Size() >= 2 * partition->BlockSize(); + // If it's big enough, but not too big (ie. larger than 2^32 blocks) we can + // initialize it. + return partition->Size() >= 2 * partition->BlockSize() + && partition->Size() / partition->BlockSize() < UINT32_MAX; }