From 55dc3986060ab3ef29aeeee3ba168bd65bdb23ba Mon Sep 17 00:00:00 2001 From: Markus Fuchs Date: Thu, 3 Nov 2022 11:38:00 +0100 Subject: [PATCH] json: Fix 64-bit support This patch fixes encoding arrays of objects on 64-bit targets. Fixes #36696 Signed-off-by: Markus Fuchs --- lib/os/json.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/os/json.c b/lib/os/json.c index 278954be5a5c76d..93dacc52890b79f 100644 --- a/lib/os/json.c +++ b/lib/os/json.c @@ -535,12 +535,10 @@ static ptrdiff_t get_elem_size(const struct json_obj_descr *descr) size_t i; for (i = 0; i < descr->object.sub_descr_len; i++) { - ptrdiff_t s = get_elem_size(&descr->object.sub_descr[i]); - - total += ROUND_UP(s, 1 << descr->align_shift); + total += get_elem_size(&descr->object.sub_descr[i]); } - return total; + return ROUND_UP(total, 1 << descr->align_shift); } default: return -EINVAL;