mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-03-14 23:09:45 +01:00
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: 2cfb1ecf10 ("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>
This commit is contained in:
parent
ebb79d0f84
commit
fb01b901e7
1 changed files with 2 additions and 2 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue