diff options
author | Radoslaw Pajak <r.pajak@samsung.com> | 2013-10-10 08:34:19 +0200 |
---|---|---|
committer | Kay Sievers <kay@vrfy.org> | 2013-10-10 12:27:41 +0200 |
commit | d5e06aa1d7876280a91f2a8a7c720d7b2422ffae (patch) | |
tree | 51857829c4e1acada4740a1348e426830358d76f | |
parent | da82d29f47eb442408f22926fa424512eb974c18 (diff) | |
download | kdbus-bus-d5e06aa1d7876280a91f2a8a7c720d7b2422ffae.tar.gz kdbus-bus-d5e06aa1d7876280a91f2a8a7c720d7b2422ffae.tar.bz2 kdbus-bus-d5e06aa1d7876280a91f2a8a7c720d7b2422ffae.zip |
Release name fixed
Release name fixed to allow name releasing by priviliged user on behalf of other peer, if that peer own the name.
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
-rw-r--r-- | names.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -398,7 +398,10 @@ int kdbus_cmd_name_release(struct kdbus_name_registry *reg, e = __kdbus_name_lookup(reg, hash, cmd_name->name); if (!e) ret = -ESRCH; - else if (e->conn != conn) + else if ((e->conn != conn) && + (!kdbus_bus_uid_is_privileged(conn->ep->bus) || + (e->conn != + kdbus_bus_find_conn_by_id(conn->ep->bus, cmd_name->id)))) ret = -EPERM; else kdbus_name_entry_release(e); |