summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Eckelmann2025-07-15 17:53:07 +0000
committerHauke Mehrtens2025-10-06 22:13:43 +0000
commitfb01b901e739b0a5db2088b09fb018c906206995 (patch)
tree344e06dcdc50f00e1ffdf999efb7e5347c99875b
parentebb79d0f846a957b3046825ed644b8b936451431 (diff)
downloadopenwrt-fb01b901e739b0a5db2088b09fb018c906206995.tar.gz
realtek: rtl930x: Fix out-of-bounds check in LED set configuration
of_property_count_u32_elems returns the number of u32 and not the number of bytes. It must therefore be checked against the number of u32 in set_config and not the bytes in set_config. Fixes: 2cfb1ecf1035 ("rtl930x: Rework per port LED configuration") Signed-off-by: Sven Eckelmann <se@simonwunderlich.de> Link: https://github.com/openwrt/openwrt/pull/20300 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl930x.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl930x.c b/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl930x.c
index 0a83a0624c..e507a931cf 100644
--- a/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl930x.c
+++ b/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl930x.c
@@ -2392,10 +2392,10 @@ static void rtl930x_led_init(struct rtl838x_switch_priv *priv)
sprintf(set_name, "led_set%d", set);
leds_in_this_set = of_property_count_u32_elems(node, set_name);
- if (leds_in_this_set <= 0 || leds_in_this_set > sizeof(set_config)) {
+ if (leds_in_this_set <= 0 || leds_in_this_set > ARRAY_SIZE(set_config)) {
if (leds_in_this_set != -EINVAL) {
dev_err(dev, "%s invalid, skipping this set, leds_in_this_set=%d, should be (0, %d]\n",
- set_name, leds_in_this_set, sizeof(set_config));
+ set_name, leds_in_this_set, ARRAY_SIZE(set_config));
}
continue;
}