Fix double to int cast overflow in json_object_get_int64.

Found with autofuzz in GDAL
This commit is contained in:
Kurt Schwehr
2017-09-11 07:23:00 -07:00
parent 5454c4eaa3
commit d9879c2533

View File

@@ -688,6 +688,10 @@ int64_t json_object_get_int64(const struct json_object *jso)
case json_type_int:
return jso->o.c_int64;
case json_type_double:
if (jso->o.c_double >= INT64_MAX)
return INT64_MAX;
if (jso->o.c_double <= INT64_MIN)
return INT64_MIN;
return (int64_t)jso->o.c_double;
case json_type_boolean:
return jso->o.c_boolean;