X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=ubus.c;fp=ubus.c;h=cc7447e8f48bd3c6f661464adef8dfd76af4b229;hb=14a3cb42047bd0c0f8d5713332b9b4516a505607;hp=39b38b2c9043df329de501a50d6f2c5cc573727c;hpb=0f38b0370718518e66dabeaa5522f546cb459393;p=project%2Fuhttpd.git 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;