From bef6c0a6a62e9b4b364f25e498ec243b016b3e19 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 9 Jan 2024 19:11:26 +0100 Subject: fix #8044 --- src/lib/json/json_helper.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/json/json_helper.c b/src/lib/json/json_helper.c index 7e1d239f7..b6965e080 100644 --- a/src/lib/json/json_helper.c +++ b/src/lib/json/json_helper.c @@ -55,7 +55,7 @@ parse_fixed_data (void *cls, struct GNUNET_JSON_Specification *spec) { const char *enc; - unsigned int len; + size_t len; if (NULL == (enc = json_string_value (root))) { @@ -63,6 +63,11 @@ parse_fixed_data (void *cls, return GNUNET_SYSERR; } len = strlen (enc); + if (len >= SIZE_MAX / 5) + { + GNUNET_break_op (0); + return GNUNET_SYSERR; + } if (((len * 5) / 8) != spec->ptr_size) { GNUNET_break_op (0); @@ -279,7 +284,7 @@ GNUNET_JSON_spec_string (const char *name, { struct GNUNET_JSON_Specification ret = { .parser = &parse_string, - .field = name, + .field = name, .ptr = strptr }; -- cgit v1.2.3