diff options
Diffstat (limited to 'Source/Core/DiscIO/VolumeGC.cpp')
| -rw-r--r-- | Source/Core/DiscIO/VolumeGC.cpp | 13 |
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) |
