[OpenWrt-Devel] [PATCH 6/7] libubus: fix ubus_invoke() to return err in case ubus_start_request() fails
Alexandru Ardelean
ardeleanalex at gmail.com
Fri Jun 27 12:11:44 EDT 2014
Seems the UBUS_MAX_MSGLEN is ignored by ubus_invoke(),
and then segfault happens.
This issue is present before this set of patches.
---
libubus-req.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/libubus-req.c b/libubus-req.c
index f24f033..8475dc9 100644
--- a/libubus-req.c
+++ b/libubus-req.c
@@ -224,8 +224,12 @@ int ubus_invoke(struct ubus_context *ctx, uint32_t obj, const char *method,
int timeout)
{
struct ubus_request req;
+ int rc;
+
+ rc = ubus_invoke_async(ctx, obj, method, msg, &req);
+ if (rc)
+ return rc;
- ubus_invoke_async(ctx, obj, method, msg, &req);
req.data_cb = cb;
req.priv = priv;
return ubus_complete_request(ctx, &req, timeout);
--
1.8.4.5
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list