From b5ce5012e29d5c1c2e2d5c1dac7fa15766db79e5 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Wed, 15 Nov 2023 17:19:57 +0100 Subject: [PATCH] llext: clarify section map allocation size Use an element size explicitly when calculating the array size and use the calculated size for memset(). Signed-off-by: Guennadi Liakhovetski --- subsys/llext/llext.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/subsys/llext/llext.c b/subsys/llext/llext.c index 281f5d1047f..15436bb43ab 100644 --- a/subsys/llext/llext.c +++ b/subsys/llext/llext.c @@ -761,7 +761,7 @@ static int do_llext_load(struct llext_loader *ldr, struct llext *ext, ldr->sect_cnt = 0; ext->sym_tab.sym_cnt = 0; - size_t sect_map_sz = ldr->hdr.e_shnum * sizeof(uint32_t); + size_t sect_map_sz = ldr->hdr.e_shnum * sizeof(ldr->sect_map[0]); ldr->sect_map = k_heap_alloc(&llext_heap, sect_map_sz, K_NO_WAIT); if (!ldr->sect_map) { @@ -769,7 +769,8 @@ static int do_llext_load(struct llext_loader *ldr, struct llext *ext, ret = -ENOMEM; goto out; } - memset(ldr->sect_map, 0, ldr->hdr.e_shnum*sizeof(uint32_t)); + memset(ldr->sect_map, 0, sect_map_sz); + ldr->sect_cnt = ldr->hdr.e_shnum; ext->mem_size += sect_map_sz;