]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
wifi-scripts: fix nested config accumulation in wdev_set_data
authorFelix Fietkau <nbd@nbd.name>
Wed, 4 Feb 2026 10:34:55 +0000 (10:34 +0000)
committerFelix Fietkau <nbd@nbd.name>
Mon, 16 Feb 2026 08:14:41 +0000 (08:14 +0000)
When storing device-level data, wdev_set_data() spread the entire wdev
object into handler_data. Since handler_config.data is set from the
previous handler_data[wdev.name] before each setup, this created
exponentially growing nesting with each reload, eventually causing
"nesting too deep" JSON parse errors.

Fix by initializing cur to a simple object containing only the device
name instead of the entire wdev object.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 68c2ab8f5fdf1c12966fa0cdf3c13d889beccdbe)

package/network/config/wifi-scripts/files/lib/netifd/wireless-device.uc

index 6e3a5d938f70383a158634548437bbe605136741..768a421480c1e30a0ed148a26fa089c0f574bbba 100644 (file)
@@ -465,7 +465,7 @@ function wdev_mark_up(wdev)
 function wdev_set_data(wdev, vif, vlan, data)
 {
        let config = wdev.handler_config;
-       let cur = wdev;
+       let cur = { name: wdev.name };
        let cur_type = "device";
        if (!config)
                return ubus.STATUS_INVALID_ARGUMENT;