Merge pull request #933 from dxbjavid/int-inc-int64min-overflow

fix signed overflow negating INT64_MIN in json_object_int_inc
This commit is contained in:
Eric Hawicz
2026-07-04 11:40:42 -04:00
committed by GitHub
3 changed files with 15 additions and 3 deletions
+3 -3
View File
@@ -1122,14 +1122,14 @@ int json_object_int_inc(struct json_object *jso, int64_t val)
{
jsoint->cint.c_uint64 = UINT64_MAX;
}
else if (val < 0 && jsoint->cint.c_uint64 < (uint64_t)(-val))
else if (val < 0 && jsoint->cint.c_uint64 < (0 - (uint64_t)val))
{
jsoint->cint.c_int64 = (int64_t)jsoint->cint.c_uint64 + val;
jsoint->cint_type = json_object_int_type_int64;
}
else if (val < 0 && jsoint->cint.c_uint64 >= (uint64_t)(-val))
else if (val < 0 && jsoint->cint.c_uint64 >= (0 - (uint64_t)val))
{
jsoint->cint.c_uint64 -= (uint64_t)(-val);
jsoint->cint.c_uint64 -= (0 - (uint64_t)val);
}
else
{