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

@@ -4,7 +4,7 @@
<e p="$APPLICATION_CONFIG_DIR$/consoles/db" t="IncludeRecursive" />
<e p="$APPLICATION_CONFIG_DIR$/extensions" t="IncludeRecursive" />
<e p="$USER_HOME$/.Rider2018.3/system/extResources" t="IncludeRecursive" />
<e p="$USER_HOME$/.Rider2018.3/system/resharper-host/local/Transient/ReSharperHost/v183/SolutionCaches/_DiscImageChef.73225794.00" t="ExcludeRecursive" />
<e p="$USER_HOME$/.Rider2018.3/system/resharper-host/local/Transient/ReSharperHost/v183/SolutionCaches/_DiscImageChef.-1491758497.00" t="ExcludeRecursive" />
<e p="$USER_HOME$/.nuget/packages/sqlitepclraw.lib.e_sqlite3.linux/1.1.11/runtimes/linux-x64/native/libe_sqlite3.so" t="Include" />
<e p="$PROJECT_DIR$" t="IncludeFlat">
<e p=".git/info/exclude" t="IncludeRecursive" />

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