mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
🐛Fix dicformat CRC64 calculation for non user data blocks.
This commit is contained in:
@@ -3623,7 +3623,10 @@ namespace DiscImageChef.DiscImages
|
|||||||
lzmaProperties = lzmaBlockStream.Properties;
|
lzmaProperties = lzmaBlockStream.Properties;
|
||||||
lzmaBlockStream.Close();
|
lzmaBlockStream.Close();
|
||||||
|
|
||||||
Crc64Context.Data(blockStream.ToArray(), out blockCrc);
|
Crc64Context cmpCrc = new Crc64Context();
|
||||||
|
cmpCrc.Update(lzmaProperties);
|
||||||
|
cmpCrc.Update(blockStream.ToArray());
|
||||||
|
blockCrc = cmpCrc.Final();
|
||||||
prefixBlock.cmpLength = (uint)blockStream.Length + LZMA_PROPERTIES_LENGTH;
|
prefixBlock.cmpLength = (uint)blockStream.Length + LZMA_PROPERTIES_LENGTH;
|
||||||
prefixBlock.cmpCrc64 = BitConverter.ToUInt64(blockCrc, 0);
|
prefixBlock.cmpCrc64 = BitConverter.ToUInt64(blockCrc, 0);
|
||||||
prefixBlock.compression = CompressionType.Lzma;
|
prefixBlock.compression = CompressionType.Lzma;
|
||||||
@@ -3682,7 +3685,10 @@ namespace DiscImageChef.DiscImages
|
|||||||
lzmaProperties = lzmaBlockStream.Properties;
|
lzmaProperties = lzmaBlockStream.Properties;
|
||||||
lzmaBlockStream.Close();
|
lzmaBlockStream.Close();
|
||||||
|
|
||||||
Crc64Context.Data(blockStream.ToArray(), out blockCrc);
|
Crc64Context cmpCrc = new Crc64Context();
|
||||||
|
cmpCrc.Update(lzmaProperties);
|
||||||
|
cmpCrc.Update(blockStream.ToArray());
|
||||||
|
blockCrc = cmpCrc.Final();
|
||||||
prefixBlock.cmpLength = (uint)blockStream.Length + LZMA_PROPERTIES_LENGTH;
|
prefixBlock.cmpLength = (uint)blockStream.Length + LZMA_PROPERTIES_LENGTH;
|
||||||
prefixBlock.cmpCrc64 = BitConverter.ToUInt64(blockCrc, 0);
|
prefixBlock.cmpCrc64 = BitConverter.ToUInt64(blockCrc, 0);
|
||||||
prefixBlock.compression = CompressionType.Lzma;
|
prefixBlock.compression = CompressionType.Lzma;
|
||||||
@@ -3747,7 +3753,10 @@ namespace DiscImageChef.DiscImages
|
|||||||
lzmaProperties = lzmaBlockStream.Properties;
|
lzmaProperties = lzmaBlockStream.Properties;
|
||||||
lzmaBlockStream.Close();
|
lzmaBlockStream.Close();
|
||||||
|
|
||||||
Crc64Context.Data(blockStream.ToArray(), out blockCrc);
|
Crc64Context cmpCrc = new Crc64Context();
|
||||||
|
cmpCrc.Update(lzmaProperties);
|
||||||
|
cmpCrc.Update(blockStream.ToArray());
|
||||||
|
blockCrc = cmpCrc.Final();
|
||||||
subchannelBlock.cmpLength = (uint)blockStream.Length + LZMA_PROPERTIES_LENGTH;
|
subchannelBlock.cmpLength = (uint)blockStream.Length + LZMA_PROPERTIES_LENGTH;
|
||||||
subchannelBlock.cmpCrc64 = BitConverter.ToUInt64(blockCrc, 0);
|
subchannelBlock.cmpCrc64 = BitConverter.ToUInt64(blockCrc, 0);
|
||||||
subchannelBlock.compression = CompressionType.Lzma;
|
subchannelBlock.compression = CompressionType.Lzma;
|
||||||
@@ -3919,7 +3928,10 @@ namespace DiscImageChef.DiscImages
|
|||||||
lzmaProperties = lzmaBlockStream.Properties;
|
lzmaProperties = lzmaBlockStream.Properties;
|
||||||
lzmaBlockStream.Close();
|
lzmaBlockStream.Close();
|
||||||
|
|
||||||
Crc64Context.Data(blockStream.ToArray(), out blockCrc);
|
Crc64Context cmpCrc = new Crc64Context();
|
||||||
|
cmpCrc.Update(lzmaProperties);
|
||||||
|
cmpCrc.Update(blockStream.ToArray());
|
||||||
|
blockCrc = cmpCrc.Final();
|
||||||
subchannelBlock.cmpLength = (uint)blockStream.Length + LZMA_PROPERTIES_LENGTH;
|
subchannelBlock.cmpLength = (uint)blockStream.Length + LZMA_PROPERTIES_LENGTH;
|
||||||
subchannelBlock.cmpCrc64 = BitConverter.ToUInt64(blockCrc, 0);
|
subchannelBlock.cmpCrc64 = BitConverter.ToUInt64(blockCrc, 0);
|
||||||
subchannelBlock.compression = CompressionType.Lzma;
|
subchannelBlock.compression = CompressionType.Lzma;
|
||||||
|
|||||||
Reference in New Issue
Block a user