From 301bbb492417470a50f621b7e1758dcc65eeecb6 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Thu, 13 May 2021 03:20:54 +1000 Subject: [PATCH] CDImagePBP: Handle compression level 0 files --- src/common/cd_image_pbp.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/common/cd_image_pbp.cpp b/src/common/cd_image_pbp.cpp index 88bbeabe4..595b8e3e7 100644 --- a/src/common/cd_image_pbp.cpp +++ b/src/common/cd_image_pbp.cpp @@ -716,6 +716,13 @@ bool CDImagePBP::DecompressBlock(const BlockInfo& block_info) if (FSeek64(m_file, block_info.offset, SEEK_SET) != 0) return false; + // Compression level 0 has compressed size == decompressed size. + if (block_info.size == m_decompressed_block.size()) + { + return (fread(m_decompressed_block.data(), sizeof(u8), m_decompressed_block.size(), m_file) == + m_decompressed_block.size()); + } + m_compressed_block.resize(block_info.size); if (fread(m_compressed_block.data(), sizeof(u8), m_compressed_block.size(), m_file) != m_compressed_block.size())