[PATCH 1/2] of: fdt: fix length comparison
Ahmad Fatoum
a.fatoum at pengutronix.de
Thu Jun 5 04:26:06 PDT 2025
From: Steffen Trumtrar <s.trumtrar at pengutronix.de>
If haystack_len equals needle_len the following memcmp would overflow,
because needle_len is incremented in the memcmp.
Signed-off-by: Steffen Trumtrar <s.trumtrar at pengutronix.de>
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
drivers/of/fdt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 43bb73b7a2df..5eead271edb7 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -698,7 +698,7 @@ static int fdt_string_is_compatible(const char *haystack, int haystack_len,
const char *p;
int index = 0;
- while (haystack_len >= needle_len) {
+ while (haystack_len > needle_len) {
if (memcmp(needle, haystack, needle_len + 1) == 0)
return OF_DEVICE_COMPATIBLE_MAX_SCORE - (index << 2);
--
2.39.5
More information about the barebox
mailing list