summaryrefslogtreecommitdiff
path: root/src/json.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2018-12-31 23:07:33 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2018-12-31 23:35:55 -0800
commit8e25ffeec6345249f2a5d221fcb0622d1deaee27 (patch)
treed9577f07bd5152b4aeb9f390adc00d1b86bc17a7 /src/json.c
parenta04bf15130f5d4e1bc79e1709461fe95345bdb2a (diff)
downloademacs-8e25ffeec6345249f2a5d221fcb0622d1deaee27.tar.gz
Fix integer overflow check in json code
* src/json.c (json_to_lisp): Check for ptrdiff_t overflow, not fixnum overflow.
Diffstat (limited to 'src/json.c')
-rw-r--r--src/json.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/json.c b/src/json.c
index 46fb97a99e8..b5fb3fee059 100644
--- a/src/json.c
+++ b/src/json.c
@@ -815,7 +815,7 @@ json_to_lisp (json_t *json, struct json_configuration *conf)
if (++lisp_eval_depth > max_lisp_eval_depth)
xsignal0 (Qjson_object_too_deep);
size_t size = json_array_size (json);
- if (FIXNUM_OVERFLOW_P (size))
+ if (PTRDIFF_MAX < size)
overflow_error ();
Lisp_Object result = make_vector (size, Qunbound);
for (ptrdiff_t i = 0; i < size; ++i)