epee: fix array underflow in unicode parsing

Reported by minerscan

Also independently found by OSS-Fuzz just recently
This commit is contained in:
moneromooo-monero 2020-04-23 14:39:54 +00:00
parent 93257997bd
commit 3721d5688f

View File

@ -196,7 +196,7 @@ namespace misc_utils
uint32_t dst = 0; uint32_t dst = 0;
for (int i = 0; i < 4; ++i) for (int i = 0; i < 4; ++i)
{ {
const unsigned char tmp = isx[(int)*++it]; const unsigned char tmp = isx[(unsigned char)*++it];
CHECK_AND_ASSERT_THROW_MES(tmp != 0xff, "Bad Unicode encoding"); CHECK_AND_ASSERT_THROW_MES(tmp != 0xff, "Bad Unicode encoding");
dst = dst << 4 | tmp; dst = dst << 4 | tmp;
} }