diff --git a/Source/Core/DiscIO/WIABlob.cpp b/Source/Core/DiscIO/WIABlob.cpp index b482f4538c..4941bcb8e2 100644 --- a/Source/Core/DiscIO/WIABlob.cpp +++ b/Source/Core/DiscIO/WIABlob.cpp @@ -1366,6 +1366,17 @@ WIAFileReader::ConversionResult WIAFileReader::CompressAndWriteGroup( size_t* groups_written, Compressor* compressor, bool compressed_exception_lists, const std::vector& exception_lists, const std::vector& main_data) { + const auto all_zero = [](const std::vector& data) { + return std::all_of(data.begin(), data.end(), [](u8 x) { return x == 0; }); + }; + + if (all_zero(exception_lists) && all_zero(main_data)) + { + (*group_entries)[*groups_written] = GroupEntry{0, 0}; + ++*groups_written; + return ConversionResult::Success; + } + const u64 data_offset = *bytes_written; if (compressor)