I replaced it with a multiplication overflow check in
18599f9c52959b2e8cbfac57e278644499a3547d. However, we need both,
because the code for restoring the number can't handle numbers
with many leading zeros right now and I don't feel like teaching it.
f = 0;
if (c >= 0x30 && c <= 0x39) { /* '0' - '9' */
s = pc->cache;
- if (s > INT_MAX/10) {
+ if (pc->digit > 9 || s > INT_MAX/10) {
pc->status = 0;
f = 1;
} else {
echo mb_decode_numericentity('�', $convmap), "\n";
echo mb_decode_numericentity('�', $convmap), "\n";
echo mb_decode_numericentity('�', $convmap), "\n";
+echo mb_decode_numericentity('�', $convmap), "\n";
?>
--EXPECT--
�
�
�
+�