From 7d1ef20acf69375cda756060b1de339b2e20a299 Mon Sep 17 00:00:00 2001 From: Haithem Rahmani Date: Wed, 22 Oct 2025 16:08:53 +0100 Subject: [PATCH] fix: "array out of bounds" error leading to memory corruption Fix description ---------------- add missing checks on the index of nor_flash -> lx_nor_flash_extended_cache[i] Fixes Issue#58 Signed-off-by: Haithem Rahmani --- common/src/lx_nor_flash_extended_cache_enable.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/src/lx_nor_flash_extended_cache_enable.c b/common/src/lx_nor_flash_extended_cache_enable.c index 86b3673..2b31afb 100644 --- a/common/src/lx_nor_flash_extended_cache_enable.c +++ b/common/src/lx_nor_flash_extended_cache_enable.c @@ -290,7 +290,7 @@ ULONG block_word; /* Loop through the memory supplied and assign to cache entries. */ i = 0; - while (cache_size >= LX_NOR_SECTOR_SIZE) + while ((cache_size >= LX_NOR_SECTOR_SIZE) && (i < LX_NOR_EXTENDED_CACHE_SIZE)) { /* Setup this cache entry. */ @@ -309,7 +309,7 @@ ULONG block_word; } /* Save the number of cache entries. */ - if(i > LX_NOR_EXTENDED_CACHE_SIZE) + if(i == LX_NOR_EXTENDED_CACHE_SIZE) { nor_flash -> lx_nor_flash_extended_cache_entries = LX_NOR_EXTENDED_CACHE_SIZE;