Merge pull request #785 from lioncash/string

Common: Fix AsciiToHex returning true on overflow values
This commit is contained in:
shuffle2 2014-08-12 14:43:02 -07:00
commit 43010818fa

View File

@ -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;
}