diff options
| author | JosJuice <josjuice@gmail.com> | 2017-07-16 14:52:17 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2017-07-16 14:52:17 +0200 |
| commit | be8e93f472ba8630622dd71a5b50a065ca942977 (patch) | |
| tree | 28b291563b6e87b724f4ed1bec6fd832015b8381 /Source/Core/DiscIO/VolumeWii.cpp | |
| parent | db1c534b3ecddf23ad57b03c80b74de55466b062 (diff) | |
Ensure that Volume::GetRegion doesn't return invalid enum values
Diffstat (limited to 'Source/Core/DiscIO/VolumeWii.cpp')
| -rw-r--r-- | Source/Core/DiscIO/VolumeWii.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/Core/DiscIO/VolumeWii.cpp b/Source/Core/DiscIO/VolumeWii.cpp index cf570e39ea..7225a1e57f 100644 --- a/Source/Core/DiscIO/VolumeWii.cpp +++ b/Source/Core/DiscIO/VolumeWii.cpp @@ -233,7 +233,10 @@ std::string VolumeWii::GetGameID(const Partition& partition) const Region VolumeWii::GetRegion() const { const std::optional<u32> region_code = m_pReader->ReadSwapped<u32>(0x4E000); - return region_code ? static_cast<Region>(*region_code) : Region::UNKNOWN_REGION; + if (!region_code) + return Region::UNKNOWN_REGION; + const Region region = static_cast<Region>(*region_code); + return region <= Region::NTSC_K ? region : Region::UNKNOWN_REGION; } Country VolumeWii::GetCountry(const Partition& partition) const |
