summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2017-07-14 18:57:04 +0200
committerLennart Poettering <lennart@poettering.net>2017-07-31 18:01:42 +0200
commitcad93f2996f18c987b3b4b62a5ede762c11338c8 (patch)
tree55e9c46155268a1ca2b06224feb6410fb361a081
parent3a87a86e33c20aab20d8b221adae2015d12bbb80 (diff)
downloadsystemd-cad93f2996f18c987b3b4b62a5ede762c11338c8.tar.gz
core, sd-bus, logind: make use of uid_is_valid() in more places
-rw-r--r--src/core/execute.c8
-rw-r--r--src/libsystemd/sd-bus/bus-creds.c2
-rw-r--r--src/login/logind-dbus.c4
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! */