projects
/
project
/
ubus.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f86ec18
)
fix invalid message reuse in ubus_process_invoke
author
Felix Fietkau
<nbd@openwrt.org>
Mon, 10 Oct 2011 14:47:49 +0000
(16:47 +0200)
committer
Felix Fietkau
<nbd@openwrt.org>
Mon, 10 Oct 2011 14:47:49 +0000
(16:47 +0200)
libubus.c
patch
|
blob
|
history
diff --git
a/libubus.c
b/libubus.c
index
af8cc46
..
f3859b7
100644
(file)
--- a/
libubus.c
+++ b/
libubus.c
@@
-342,6
+342,8
@@
static void ubus_process_invoke(struct ubus_context *ctx, struct ubus_msghdr *hd
int method;
int ret = 0;
int method;
int ret = 0;
+ req.peer = hdr->peer;
+ req.seq = hdr->seq;
ubus_parse_msg(hdr->data);
if (!attrbuf[UBUS_ATTR_OBJID])
ubus_parse_msg(hdr->data);
if (!attrbuf[UBUS_ATTR_OBJID])
@@
-372,8
+374,6
@@
static void ubus_process_invoke(struct ubus_context *ctx, struct ubus_msghdr *hd
found:
req.object = objid;
found:
req.object = objid;
- req.peer = hdr->peer;
- req.seq = hdr->seq;
ret = obj->methods[method].handler(ctx, obj, &req,
blob_data(attrbuf[UBUS_ATTR_METHOD]),
attrbuf[UBUS_ATTR_DATA]);
ret = obj->methods[method].handler(ctx, obj, &req,
blob_data(attrbuf[UBUS_ATTR_METHOD]),
attrbuf[UBUS_ATTR_DATA]);
@@
-382,7
+382,7
@@
send:
blob_buf_init(&b, 0);
blob_put_int32(&b, UBUS_ATTR_STATUS, ret);
blob_put_int32(&b, UBUS_ATTR_OBJID, objid);
blob_buf_init(&b, 0);
blob_put_int32(&b, UBUS_ATTR_STATUS, ret);
blob_put_int32(&b, UBUS_ATTR_OBJID, objid);
- ubus_send_msg(ctx,
hdr->seq, b.head, UBUS_MSG_STATUS, hdr->
peer);
+ ubus_send_msg(ctx,
req.seq, b.head, UBUS_MSG_STATUS, req.
peer);
}
static void ubus_process_msg(struct ubus_context *ctx, struct ubus_msghdr *hdr)
}
static void ubus_process_msg(struct ubus_context *ctx, struct ubus_msghdr *hdr)