From: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Date: Sun, 28 Jan 2024 07:58:55 +0000 (+0100)
Subject: common: event: check event_type_name() argument
X-Git-Tag: v2025.01-rc5-pxa1908~662^2~6
X-Git-Url: http://git.dujemihanovic.xyz/img/static//%22brlog.php?a=commitdiff_plain;h=0c5110ccf83c2e9c3190e501855c49ee168a7239;p=u-boot.git

common: event: check event_type_name() argument

In event_type_name() we should avoid possible buffer overruns by checking
the type argument.

Addresses-Coverity-ID: 478862 Out-of-bounds access
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
---

diff --git a/common/event.c b/common/event.c
index dc61b9672f..16c2ba6cc9 100644
--- a/common/event.c
+++ b/common/event.c
@@ -56,7 +56,10 @@ _Static_assert(ARRAY_SIZE(type_name) == EVT_COUNT, "event type_name size");
 const char *event_type_name(enum event_t type)
 {
 #if CONFIG_IS_ENABLED(EVENT_DEBUG)
-	return type_name[type];
+	if (type < ARRAY_SIZE(type_name))
+		return type_name[type];
+	else
+		return "(unknown)";
 #else
 	return "(unknown)";
 #endif