diff --git a/Source/Core/DiscIO/VolumeWiiCrypted.cpp b/Source/Core/DiscIO/VolumeWiiCrypted.cpp index b706c8e6f3..d37df8d9c7 100644 --- a/Source/Core/DiscIO/VolumeWiiCrypted.cpp +++ b/Source/Core/DiscIO/VolumeWiiCrypted.cpp @@ -4,6 +4,7 @@ #include "DiscIO/VolumeWiiCrypted.h" +#include #include #include #include @@ -87,14 +88,14 @@ bool CVolumeWiiCrypted::Read(u64 _ReadOffset, u64 _Length, u8* _pBuffer, bool de } // Copy the decrypted data - u64 MaxSizeToCopy = BLOCK_DATA_SIZE - data_offset_in_block; - u64 CopySize = (_Length > MaxSizeToCopy) ? MaxSizeToCopy : _Length; - memcpy(_pBuffer, &m_last_decrypted_block_data[data_offset_in_block], (size_t)CopySize); + u64 copy_size = std::min(_Length, BLOCK_DATA_SIZE - data_offset_in_block); + memcpy(_pBuffer, &m_last_decrypted_block_data[data_offset_in_block], + static_cast(copy_size)); // Update offsets - _Length -= CopySize; - _pBuffer += CopySize; - _ReadOffset += CopySize; + _Length -= copy_size; + _pBuffer += copy_size; + _ReadOffset += copy_size; } return true;