diff options
| author | Sven Eckelmann | 2025-07-15 17:53:07 +0000 |
|---|---|---|
| committer | Hauke Mehrtens | 2025-10-06 22:13:43 +0000 |
| commit | fb01b901e739b0a5db2088b09fb018c906206995 (patch) | |
| tree | 344e06dcdc50f00e1ffdf999efb7e5347c99875b | |
| parent | ebb79d0f846a957b3046825ed644b8b936451431 (diff) | |
| download | openwrt-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.c | 4 |
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; } |