summaryrefslogtreecommitdiff
path: root/ubus.c
diff options
context:
space:
mode:
Diffstat (limited to 'ubus.c')
-rw-r--r--ubus.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/ubus.c b/ubus.c
index 39b38b2..cc7447e 100644
--- a/ubus.c
+++ b/ubus.c
@@ -465,10 +465,14 @@ uh_ubus_request_cb(struct ubus_request *req, int ret)
uh_ubus_init_json_rpc_response(cl, &buf);
r = blobmsg_open_array(&buf, "result");
blobmsg_add_u32(&buf, "", ret);
- c = blobmsg_open_table(&buf, NULL);
- blob_for_each_attr(cur, du->buf.head, rem)
- blobmsg_add_blob(&buf, cur);
- blobmsg_close_table(&buf, c);
+
+ if (blob_len(du->buf.head)) {
+ c = blobmsg_open_table(&buf, NULL);
+ blob_for_each_attr(cur, du->buf.head, rem)
+ blobmsg_add_blob(&buf, cur);
+ blobmsg_close_table(&buf, c);
+ }
+
blobmsg_close_array(&buf, r);
uh_ubus_send_response(cl, &buf);
return;