diff options
author | Jo-Philipp Wich <jo@mein.io> | 2018-07-26 08:02:01 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2018-07-26 08:42:36 +0200 |
commit | aa8846bb101054392b81f09bade120c021695892 (patch) | |
tree | ca69340b81c39d56546dc45f2ddcdf4c406e3a4c | |
parent | d2bbeb7d42b45e4d97411e5c124845905975fd46 (diff) | |
download | firewall3-aa8846bb101054392b81f09bade120c021695892.tar.gz |
ubus: avoid dumping interface state with NULL message
Invoking ubus methods with NULL message is not supported anymore, so
make sure that network.interface/dump is called with an empty blob buffer
argument.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r-- | ubus.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -45,13 +45,15 @@ fw3_ubus_connect(void) struct ubus_context *ctx = ubus_connect(NULL); struct blob_buf b = { }; + blob_buf_init(&b, 0); + if (!ctx) goto out; if (ubus_lookup_id(ctx, "network.interface", &id)) goto out; - if (ubus_invoke(ctx, id, "dump", NULL, dump_cb, NULL, 2000)) + if (ubus_invoke(ctx, id, "dump", b.head, dump_cb, NULL, 2000)) goto out; status = true; @@ -59,14 +61,15 @@ fw3_ubus_connect(void) if (ubus_lookup_id(ctx, "service", &id)) goto out; - blob_buf_init(&b, 0); blobmsg_add_string(&b, "type", "firewall"); ubus_invoke(ctx, id, "get_data", b.head, procd_data_cb, NULL, 2000); - blob_buf_free(&b); out: + blob_buf_free(&b); + if (ctx) ubus_free(ctx); + return status; } |