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>
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;