summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--device.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/device.c b/device.c
index caadbc3..ab8ff91 100644
--- a/device.c
+++ b/device.c
@@ -305,8 +305,11 @@ device_reload_config(struct device *dev, struct blob_attr *attr)
blobmsg_parse(dev_attrs, __DEV_ATTR_MAX, tb,
blob_data(attr), blob_len(attr));
- blobmsg_parse(dev_attrs, __DEV_ATTR_MAX, tb1,
- blob_data(dev->config), blob_len(dev->config));
+ if (dev->config)
+ blobmsg_parse(dev_attrs, __DEV_ATTR_MAX, tb1,
+ blob_data(dev->config), blob_len(dev->config));
+ else
+ memset(tb1, 0, sizeof(tb1));
if (!config_diff(tb, tb1, &device_attr_list, NULL))
return DEV_CONFIG_NO_CHANGE;