From edcce2895b3a2365ff47fcb744814cc7d651f0a0 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. --- 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 e0e0ccc39..5a551ed27 100644 --- a/Aaru.Images/AaruFormat/Read.cs +++ b/Aaru.Images/AaruFormat/Read.cs @@ -273,7 +273,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 c7f52900b..beaa6780b 100644 --- a/Aaru.Images/AaruFormat/Write.cs +++ b/Aaru.Images/AaruFormat/Write.cs @@ -447,7 +447,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...",