mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2025-05-25 21:24:05 +02:00
Remove undefined behavior from a left shift of a negative value.
Fixed by shifting a positive value, then negating the result. (Credit: Richard Trieu)
This commit is contained in:
parent
ffea45bbe1
commit
22ec823cc7
@ -1215,7 +1215,7 @@ JSONTEST_FIXTURE(ValueTest, nonIntegers) {
|
|||||||
JSONTEST_ASSERT_EQUAL(-2147483648.5, val.asDouble());
|
JSONTEST_ASSERT_EQUAL(-2147483648.5, val.asDouble());
|
||||||
JSONTEST_ASSERT_EQUAL(float(-2147483648.5), val.asFloat());
|
JSONTEST_ASSERT_EQUAL(float(-2147483648.5), val.asFloat());
|
||||||
#ifdef JSON_HAS_INT64
|
#ifdef JSON_HAS_INT64
|
||||||
JSONTEST_ASSERT_EQUAL(-Json::Int64(1) << 31, val.asLargestInt());
|
JSONTEST_ASSERT_EQUAL(-(Json::Int64(1) << 31), val.asLargestInt());
|
||||||
#endif
|
#endif
|
||||||
JSONTEST_ASSERT_EQUAL(true, val.asBool());
|
JSONTEST_ASSERT_EQUAL(true, val.asBool());
|
||||||
JSONTEST_ASSERT_EQUAL("-2147483648.5",
|
JSONTEST_ASSERT_EQUAL("-2147483648.5",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user