]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core, sd-bus, logind: make use of uid_is_valid() in more places
authorLennart Poettering <lennart@poettering.net>
Fri, 14 Jul 2017 16:57:04 +0000 (18:57 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 31 Jul 2017 16:01:42 +0000 (18:01 +0200)
src/core/execute.c
src/libsystemd/sd-bus/bus-creds.c
src/login/logind-dbus.c

index 48b84815ca9f14f9051742f662f61f0128c6bb8f..f9580a25ad19089547edbae83de2e4486036387d 100644 (file)
@@ -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;
index f10592acd6db5d70275e7e31bd16ed9393ba5f99..a05b4215fb515319a01f263d8e088e697ead6625 100644 (file)
@@ -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;
index e22956bda259b318dc50a5b8b6350e636378f93a..cd22ff4fca1bcda597875ced2d26773061068e87 100644 (file)
@@ -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! */