From: Lennart Poettering Date: Fri, 14 Jul 2017 16:57:04 +0000 (+0200) Subject: core, sd-bus, logind: make use of uid_is_valid() in more places X-Git-Tag: v235~281^2~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cad93f2996f18c987b3b4b62a5ede762c11338c8;p=thirdparty%2Fsystemd.git core, sd-bus, logind: make use of uid_is_valid() in more places --- diff --git a/src/core/execute.c b/src/core/execute.c index 48b84815ca9..f9580a25ad1 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 f10592acd6d..a05b4215fb5 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 e22956bda25..cd22ff4fca1 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! */