diff --git a/Source/Core/Common/StringUtil.cpp b/Source/Core/Common/StringUtil.cpp index 16281ac91f..59fcb4131d 100644 --- a/Source/Core/Common/StringUtil.cpp +++ b/Source/Core/Common/StringUtil.cpp @@ -28,12 +28,18 @@ // faster than sscanf bool AsciiToHex(const std::string& _szValue, u32& result) { + // Set errno to a good state. + errno = 0; + char *endptr = nullptr; const u32 value = strtoul(_szValue.c_str(), &endptr, 16); if (!endptr || *endptr) return false; + if (errno == ERANGE) + return false; + result = value; return true; }