diff options
author | Felix Fietkau <nbd@nbd.name> | 2016-08-23 12:55:08 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2016-08-23 12:55:09 +0200 |
commit | 686c05d738a7a1f7ec62c47807f07f6f642904b1 (patch) | |
tree | c320402d7a6726963a7299c233bfe2c645d4a855 | |
parent | b405050ceb53a0f7fce5a3e0958b6e5406e9225b (diff) | |
download | ubus-686c05d738a7a1f7ec62c47807f07f6f642904b1.tar.gz |
ubusd: fix sending remove-object notification
Patch by Delio Brignoli <brignoli.delio@gmail.com>
Both ubusd_free_object (eventually via ubusd_create_object_event_msg)
and ubus_proto_send_msg_from_blob() use the same message buffer.
So ubusd_handle_remove_object builds the payload which gets (indirectly)
overwritten by the call to ubusd_free_object and then sent again by
ubus_proto_send_msg_from_blob.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r-- | ubusd_proto.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ubusd_proto.c b/ubusd_proto.c index 0624574..53e507a 100644 --- a/ubusd_proto.c +++ b/ubusd_proto.c @@ -130,8 +130,8 @@ static int ubusd_handle_remove_object(struct ubus_client *cl, struct ubus_msg_bu if (obj->type && obj->type->refcount == 1) blob_put_int32(&b, UBUS_ATTR_OBJTYPE, obj->type->id.id); - ubusd_free_object(obj); ubus_proto_send_msg_from_blob(cl, ub, UBUS_MSG_DATA); + ubusd_free_object(obj); return 0; } |