(note: found via https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=65180)
Looks like overflow checks not being by IonParser can result in one of outcomes:
- an Ion
RuntimeException being thrown, when method getIntValue() is called with value beyond 32-bit int range
- quiet truncation of value without failure
Instead, this should be surfaced same as equivalent JsonParseException JSON-backed JsonParser throws in similar situation -- see ParserBase.convertNumberToInt() (and ParserBase.reportOverflowInt()) for examples of handling.
Same probably affects long overflow as well (wrt BigInteger range value)
(note: found via https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=65180)
Looks like overflow checks not being by
IonParsercan result in one of outcomes:RuntimeExceptionbeing thrown, when methodgetIntValue()is called with value beyond 32-bitintrangeInstead, this should be surfaced same as equivalent
JsonParseExceptionJSON-backedJsonParserthrows in similar situation -- seeParserBase.convertNumberToInt()(andParserBase.reportOverflowInt()) for examples of handling.Same probably affects
longoverflow as well (wrtBigIntegerrange value)