diff --git a/src/system/kernel/disk_device_manager/KPartitioningSystem.cpp b/src/system/kernel/disk_device_manager/KPartitioningSystem.cpp index 790028e05b..e36070d6f8 100644 --- a/src/system/kernel/disk_device_manager/KPartitioningSystem.cpp +++ b/src/system/kernel/disk_device_manager/KPartitioningSystem.cpp @@ -69,6 +69,11 @@ KPartitioningSystem::Identify(KPartition *partition, void **cookie) int fd = -1; if (partition->Open(O_RDONLY, &fd) != B_OK) return -1; + + // if BlockSize is 0, identify_partition will cause a KDL + if (partition->BlockSize() == 0) + return -1; + float result = fModule->identify_partition(fd, partition->PartitionData(), cookie); close(fd);