projects
/
project
/
firewall3.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ubus: avoid dumping interface state with NULL message
[project/firewall3.git]
/
ubus.c
diff --git
a/ubus.c
b/ubus.c
index 7029d630af60f54298f929acf581a7afe0c223f6..bea91665c828f408eb655315140471e15cfdf4e9 100644
(file)
--- a/
ubus.c
+++ b/
ubus.c
@@
-45,13
+45,15
@@
fw3_ubus_connect(void)
struct ubus_context *ctx = ubus_connect(NULL);
struct blob_buf b = { };
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 (!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;
goto out;
status = true;
@@
-59,14
+61,15
@@
fw3_ubus_connect(void)
if (ubus_lookup_id(ctx, "service", &id))
goto out;
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);
blobmsg_add_string(&b, "type", "firewall");
ubus_invoke(ctx, id, "get_data", b.head, procd_data_cb, NULL, 2000);
- blob_buf_free(&b);
out:
out:
+ blob_buf_free(&b);
+
if (ctx)
ubus_free(ctx);
if (ctx)
ubus_free(ctx);
+
return status;
}
return status;
}