summaryrefslogtreecommitdiff
path: root/json_object.c
diff options
context:
space:
mode:
Diffstat (limited to 'json_object.c')
-rw-r--r--json_object.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/json_object.c b/json_object.c
index 9ffb149..8cd5922 100644
--- a/json_object.c
+++ b/json_object.c
@@ -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;