]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/login/logind-user.c
logind: improve error propagation of user_check_linger_file()
[thirdparty/systemd.git] / src / login / logind-user.c
index e92f2a5243f04debdf93737ba61988b73a744c27..230c8f392d5485ded4186127b9a734c6dfa1b915 100644 (file)
@@ -530,8 +530,14 @@ int user_check_linger_file(User *u) {
                 return -ENOMEM;
 
         p = strjoina("/var/lib/systemd/linger/", cc);
+        if (access(p, F_OK) < 0) {
+                if (errno != ENOENT)
+                        return -errno;
 
-        return access(p, F_OK) >= 0;
+                return false;
+        }
+
+        return true;
 }
 
 bool user_may_gc(User *u, bool drop_not_started) {