summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMikael Magnusson <mikma@users.sourceforge.net>2025-03-24 00:16:08 +0100
committerMikael Magnusson <mikma@users.sourceforge.net>2025-03-24 01:07:33 +0100
commit1a4e6c039be0b1999212071c0857b3fdadc9c65a (patch)
tree589c29061b8fcc12c3e2c4f68b30c8d4efdab358
parentc4d7f9164c4a692f96a58cb05a118a1410ebcf62 (diff)
ubus: fix broken uc_ubus_deferfix-ubus-defer
Rearrange the code in order to lookup the id before using it. Signed-off-by: Mikael Magnusson <mikma@users.sourceforge.net>
-rw-r--r--lib/ubus.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/ubus.c b/lib/ubus.c
index 299b112..66d4647 100644
--- a/lib/ubus.c
+++ b/lib/ubus.c
@@ -1001,12 +1001,6 @@ uc_ubus_defer(uc_vm_t *vm, size_t nargs)
conn_get(vm, &c);
- rv = ubus_lookup_id(&c->ctx, ucv_string_get(objname), &id);
-
- if (rv != UBUS_STATUS_OK)
- err_return(rv, "Failed to resolve object name '%s'",
- ucv_string_get(objname));
-
args_get_named(vm, nargs,
"object", UC_STRING, REQUIRED, &objname,
"method", UC_STRING, REQUIRED, &funname,
@@ -1016,6 +1010,12 @@ uc_ubus_defer(uc_vm_t *vm, size_t nargs)
"fd", 0, NAMED, &fd,
"fd_cb", UC_CLOSURE, NAMED, &fdcb);
+ rv = ubus_lookup_id(&c->ctx, ucv_string_get(objname), &id);
+
+ if (rv != UBUS_STATUS_OK)
+ err_return(rv, "Failed to resolve object name '%s'",
+ ucv_string_get(objname));
+
rv = uc_ubus_defer_common(vm, c, &res, id, funname, funargs, fd, fdcb, replycb, datacb);
if (rv != UBUS_STATUS_OK)