From 8e25ffeec6345249f2a5d221fcb0622d1deaee27 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 31 Dec 2018 23:07:33 -0800 Subject: [PATCH] Fix integer overflow check in json code * src/json.c (json_to_lisp): Check for ptrdiff_t overflow, not fixnum overflow. --- src/json.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) -- 2.39.5