From 3aa463cdaee872aa220fdc474a6e47584e3f3190 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 12 Apr 2020 21:47:10 +0200 Subject: [PATCH] DiscIO: Fix decompressing writing too much sometimes This issue cannot happen with good dumps due to their size, but it can happen with trimmed dumps. --- Source/Core/DiscIO/CompressedBlob.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/DiscIO/CompressedBlob.cpp b/Source/Core/DiscIO/CompressedBlob.cpp index 1fe8c4c921..f1ab226025 100644 --- a/Source/Core/DiscIO/CompressedBlob.cpp +++ b/Source/Core/DiscIO/CompressedBlob.cpp @@ -371,7 +371,7 @@ bool DecompressBlobToFile(const std::string& infile_path, const std::string& out const CompressedBlobHeader& header = reader->GetHeader(); static const size_t BUFFER_BLOCKS = 32; size_t buffer_size = header.block_size * BUFFER_BLOCKS; - size_t last_buffer_size = header.block_size * (header.num_blocks % BUFFER_BLOCKS); + size_t last_buffer_size = header.data_size % buffer_size; if (last_buffer_size == 0) last_buffer_size = buffer_size; std::vector buffer(buffer_size);