From efafd6909e227157cd614b112f473f82527c61f8 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 5 Nov 2021 01:49:14 +0000 Subject: [PATCH] Do not skip blocks that have CRC as 0, as we do not set them for DDTs and CD Prefix/Suffix. (cherry picked from commit edcce2895b3a2365ff47fcb744814cc7d651f0a0) --- Aaru.Images/AaruFormat/Read.cs | 3 ++- Aaru.Images/AaruFormat/Write.cs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Aaru.Images/AaruFormat/Read.cs b/Aaru.Images/AaruFormat/Read.cs index 4e7583c04..c5055b831 100644 --- a/Aaru.Images/AaruFormat/Read.cs +++ b/Aaru.Images/AaruFormat/Read.cs @@ -267,7 +267,8 @@ namespace Aaru.DiscImages // Check CRC, if not correct, skip it Crc64Context.Data(data, out byte[] blockCrc); - if(BitConverter.ToUInt64(blockCrc, 0) != blockHeader.crc64) + if(BitConverter.ToUInt64(blockCrc, 0) != blockHeader.crc64 && + blockHeader.crc64 != 0) { AaruConsole.DebugWriteLine("Aaru Format plugin", "Incorrect CRC found: 0x{0:X16} found, expected 0x{1:X16}, continuing...", diff --git a/Aaru.Images/AaruFormat/Write.cs b/Aaru.Images/AaruFormat/Write.cs index 3c274201c..ac64ed031 100644 --- a/Aaru.Images/AaruFormat/Write.cs +++ b/Aaru.Images/AaruFormat/Write.cs @@ -448,7 +448,8 @@ namespace Aaru.DiscImages // Check CRC, if not correct, skip it Crc64Context.Data(data, out byte[] blockCrc); - if(BitConverter.ToUInt64(blockCrc, 0) != blockHeader.crc64) + if(BitConverter.ToUInt64(blockCrc, 0) != blockHeader.crc64 && + blockHeader.crc64 != 0) { AaruConsole.DebugWriteLine("Aaru Format plugin", "Incorrect CRC found: 0x{0:X16} found, expected 0x{1:X16}, continuing...",