summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/VolumeGC.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DiscIO/VolumeGC.cpp')
-rw-r--r--Source/Core/DiscIO/VolumeGC.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/Source/Core/DiscIO/VolumeGC.cpp b/Source/Core/DiscIO/VolumeGC.cpp
index 39bc029ec2..af4178682f 100644
--- a/Source/Core/DiscIO/VolumeGC.cpp
+++ b/Source/Core/DiscIO/VolumeGC.cpp
@@ -177,7 +177,11 @@ void VolumeGC::LoadBannerFile() const
if (!file_system)
return;
- size_t file_size = static_cast<size_t>(file_system->GetFileSize("opening.bnr"));
+ std::unique_ptr<FileInfo> file_info = file_system->FindFileInfo("opening.bnr");
+ if (!file_info)
+ return;
+
+ size_t file_size = static_cast<size_t>(file_info->GetSize());
constexpr int BNR1_MAGIC = 0x31524e42;
constexpr int BNR2_MAGIC = 0x32524e42;
if (file_size != BNR1_SIZE && file_size != BNR2_SIZE)
@@ -186,7 +190,12 @@ void VolumeGC::LoadBannerFile() const
return;
}
- file_system->ReadFile("opening.bnr", reinterpret_cast<u8*>(&banner_file), file_size);
+ if (file_size !=
+ file_system->ReadFile(file_info.get(), reinterpret_cast<u8*>(&banner_file), file_size))
+ {
+ WARN_LOG(DISCIO, "Could not read opening.bnr.");
+ return;
+ }
bool is_bnr1;
if (banner_file.id == BNR1_MAGIC && file_size == BNR1_SIZE)