From c3cf0dc64f1c39bc10530ef649fd7bf147e70720 Mon Sep 17 00:00:00 2001
From: Sughosh Ganu <sughosh.ganu@linaro.org>
Date: Mon, 21 Oct 2024 22:48:20 +0530
Subject: [PATCH] lmb: add a check to prevent memory overrun

When printing the LMB flags for a memory region, there is a need to
check that the array index that is computed is a sane value. Put a
noisy assert in case this check fails, as that implies something with
the LMB code is not working as expected.

Reported-by: Coverity (CID 510463)
Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
---
 lib/lmb.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/lmb.c b/lib/lmb.c
index eec99c185e..bf261db999 100644
--- a/lib/lmb.c
+++ b/lib/lmb.c
@@ -76,6 +76,7 @@ static void lmb_print_region_flags(enum lmb_flags flags)
 
 	do {
 		bitpos = flags ? fls(flags) - 1 : 0;
+		assert_noisy(bitpos < ARRAY_SIZE(flag_str));
 		printf("%s", flag_str[bitpos]);
 		flags &= ~(1ull << bitpos);
 		puts(flags ? ", " : "\n");
-- 
2.39.5