diff options
author | Lennart Poettering <lennart@poettering.net> | 2017-07-14 18:57:04 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2017-07-31 18:01:42 +0200 |
commit | cad93f2996f18c987b3b4b62a5ede762c11338c8 (patch) | |
tree | 55e9c46155268a1ca2b06224feb6410fb361a081 | |
parent | 3a87a86e33c20aab20d8b221adae2015d12bbb80 (diff) | |
download | systemd-cad93f2996f18c987b3b4b62a5ede762c11338c8.tar.gz |
core, sd-bus, logind: make use of uid_is_valid() in more places
-rw-r--r-- | src/core/execute.c | 8 | ||||
-rw-r--r-- | src/libsystemd/sd-bus/bus-creds.c | 2 | ||||
-rw-r--r-- | src/login/logind-dbus.c | 4 |
3 files changed, 7 insertions, 7 deletions
diff --git a/src/core/execute.c b/src/core/execute.c index 48b84815ca..f9580a25ad 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -286,7 +286,7 @@ static int connect_journal_socket(int fd, uid_t uid, gid_t gid) { gid_t oldgid = GID_INVALID; int r; - if (gid != GID_INVALID) { + if (gid_is_valid(gid)) { oldgid = getgid(); r = setegid(gid); @@ -294,7 +294,7 @@ static int connect_journal_socket(int fd, uid_t uid, gid_t gid) { return -errno; } - if (uid != UID_INVALID) { + if (uid_is_valid(uid)) { olduid = getuid(); r = seteuid(uid); @@ -311,11 +311,11 @@ static int connect_journal_socket(int fd, uid_t uid, gid_t gid) { /* If we fail to restore the uid or gid, things will likely fail later on. This should only happen if an LSM interferes. */ - if (uid != UID_INVALID) + if (uid_is_valid(uid)) (void) seteuid(olduid); restore_gid: - if (gid != GID_INVALID) + if (gid_is_valid(gid)) (void) setegid(oldgid); return r; diff --git a/src/libsystemd/sd-bus/bus-creds.c b/src/libsystemd/sd-bus/bus-creds.c index f10592acd6..a05b4215fb 100644 --- a/src/libsystemd/sd-bus/bus-creds.c +++ b/src/libsystemd/sd-bus/bus-creds.c @@ -584,7 +584,7 @@ _public_ int sd_bus_creds_get_audit_login_uid(sd_bus_creds *c, uid_t *uid) { if (!(c->mask & SD_BUS_CREDS_AUDIT_LOGIN_UID)) return -ENODATA; - if (c->audit_login_uid == UID_INVALID) + if (!uid_is_valid(c->audit_login_uid)) return -ENXIO; *uid = c->audit_login_uid; diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index e22956bda2..cd22ff4fca 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -88,7 +88,7 @@ int manager_get_user_from_creds(Manager *m, sd_bus_message *message, uid_t uid, assert(message); assert(ret); - if (uid == UID_INVALID) { + if (!uid_is_valid(uid)) { _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; /* Note that we get the owner UID of the session, not the actual client UID here! */ @@ -1132,7 +1132,7 @@ static int method_set_user_linger(sd_bus_message *message, void *userdata, sd_bu if (r < 0) return r; - if (uid == UID_INVALID) { + if (!uid_is_valid(uid)) { _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; /* Note that we get the owner UID of the session, not the actual client UID here! */ |