summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mack <daniel@zonque.org>2014-12-23 18:36:29 +0100
committerDaniel Mack <daniel@zonque.org>2014-12-23 18:41:26 +0100
commit3e0a2048978fcc7aff00797bdb876b2592c2fbc7 (patch)
tree5d0c91012338172516dc8f9b7d6572e5b1d75224
parent259ac5cd7e37c4b9bd908460fe4de030aa252025 (diff)
bus-proxyd: ignore errors from sd_bus_creds_get_well_known_names()
sd_bus_creds_get_well_known_names() fails with -ENODATA in case the message has no names attached, which is intended behavior if the remote connection didn't own any names at the time of sending. The function already deals with 'sender_names' being an empty strv, so we can just continue in such cases.
-rw-r--r--src/bus-proxyd/bus-proxyd.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/bus-proxyd/bus-proxyd.c b/src/bus-proxyd/bus-proxyd.c
index d15bd83514..6da7fb9b55 100644
--- a/src/bus-proxyd/bus-proxyd.c
+++ b/src/bus-proxyd/bus-proxyd.c
@@ -988,9 +988,7 @@ static int process_policy(sd_bus *from, sd_bus *to, sd_bus_message *m, Policy *p
return 0;
/* The message came from the kernel, and is sent to our legacy client. */
- r = sd_bus_creds_get_well_known_names(&m->creds, &sender_names);
- if (r < 0)
- return r;
+ sd_bus_creds_get_well_known_names(&m->creds, &sender_names);
(void) sd_bus_creds_get_uid(&m->creds, &sender_uid);
(void) sd_bus_creds_get_gid(&m->creds, &sender_gid);
@@ -1054,14 +1052,12 @@ static int process_policy(sd_bus *from, sd_bus *to, sd_bus_message *m, Policy *p
if (r < 0)
return handle_policy_error(m, r);
- r = sd_bus_creds_get_well_known_names(destination_creds, &destination_names);
- if (r < 0)
- return handle_policy_error(m, r);
-
r = sd_bus_creds_get_unique_name(destination_creds, &destination_unique);
if (r < 0)
return handle_policy_error(m, r);
+ sd_bus_creds_get_well_known_names(destination_creds, &destination_names);
+
(void) sd_bus_creds_get_uid(destination_creds, &destination_uid);
(void) sd_bus_creds_get_gid(destination_creds, &destination_gid);
}