Fix crash in partitions enumeration.

This commit is contained in:
2019-02-03 15:42:27 +00:00
parent d1215a466c
commit 55ba302a9d
2 changed files with 7 additions and 5 deletions

View File

@@ -57,7 +57,7 @@ namespace DiscImageChef.Core
List<ulong> checkedLocations = new List<ulong>();
// Getting all partitions from device (e.g. tracks)
if(image is IPartitionableMediaImage partitionableImage)
if(image is IPartitionableMediaImage partitionableImage && partitionableImage.Partitions != null)
foreach(Partition imagePartition in partitionableImage.Partitions)
{
foreach(IPartition partitionPlugin in plugins.PartPluginsList.Values)
@@ -137,9 +137,11 @@ namespace DiscImageChef.Core
List<ulong> startLocations =
childPartitions.Select(detectedPartition => detectedPartition.Start).ToList();
childPartitions.AddRange(partitionableImage.Partitions.Where(imagePartition =>
!startLocations.Contains(imagePartition
.Start)));
if(partitionableImage.Partitions != null)
childPartitions.AddRange(partitionableImage.Partitions.Where(imagePartition =>
!startLocations
.Contains(imagePartition
.Start)));
}
Partition[] childArray = childPartitions