chiark / gitweb /
logind: fix user_object_find()
authorLennart Poettering <lennart@poettering.net>
Thu, 4 Jan 2018 10:36:35 +0000 (11:36 +0100)
committerSven Eden <yamakuzure@gmx.net>
Wed, 30 May 2018 05:50:02 +0000 (07:50 +0200)
The logic was completely borked since
e4d2984bf8514ab576a66d5ac1f1cde746bb32a3, correct that.

CID #1384234

src/login/logind-user-dbus.c

index 9fca5ce0cda1096d25a59414bae12eea5a15463d..d5d086cfe04c0b84af993ca3ef43b0c47751b768 100644 (file)
@@ -288,13 +288,13 @@ int user_object_find(sd_bus *bus, const char *path, const char *interface, void
                         return 0;
 
                 r = parse_uid(p, &uid);
-        }
-        if (r < 0)
-                return 0;
+                if (r < 0)
+                        return 0;
 
-        user = hashmap_get(m->users, UID_TO_PTR(uid));
-        if (!user)
-                return 0;
+                user = hashmap_get(m->users, UID_TO_PTR(uid));
+                if (!user)
+                        return 0;
+        }
 
         *found = user;
         return 1;