From a469fb315037d455884f25acb39bad57bc76e4ff Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sat, 30 Mar 2019 16:20:45 +0100 Subject: VolumeVerifier: Check whether invalid blocks are unused --- Source/Core/DiscIO/CompressedBlob.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Source/Core/DiscIO/CompressedBlob.cpp') diff --git a/Source/Core/DiscIO/CompressedBlob.cpp b/Source/Core/DiscIO/CompressedBlob.cpp index 916773b90a..3dc9f86709 100644 --- a/Source/Core/DiscIO/CompressedBlob.cpp +++ b/Source/Core/DiscIO/CompressedBlob.cpp @@ -27,6 +27,7 @@ #include "DiscIO/Blob.h" #include "DiscIO/CompressedBlob.h" #include "DiscIO/DiscScrubber.h" +#include "DiscIO/Volume.h" namespace DiscIO { @@ -181,9 +182,11 @@ bool CompressFileToBlob(const std::string& infile_path, const std::string& outfi } DiscScrubber disc_scrubber; + std::unique_ptr volume; if (sub_type == 1) { - if (!disc_scrubber.SetupScrub(infile_path, block_size)) + volume = CreateVolumeFromFilename(infile_path); + if (!volume || !disc_scrubber.SetupScrub(volume.get(), block_size)) { PanicAlertT("\"%s\" failed to be scrubbed. Probably the image is corrupt.", infile_path.c_str()); -- cgit v1.2.3