chiark / gitweb /
login: check return of parse_pid and parse_uid
[elogind.git] / src / login / logind-inhibit.c
index 96b7c6cd7eb8dd16a8b01219a7df1c0be18b6de5..60b6237ce5e71b3604bbee4b528a74cfa2956992 100644 (file)
@@ -219,11 +219,17 @@ int inhibitor_load(Inhibitor *i) {
         if  (mm >= 0)
                 i->mode = mm;
 
-        if (uid)
-                parse_uid(uid, &i->uid);
+        if (uid) {
+                r = parse_uid(uid, &i->uid);
+                if (r < 0)
+                        goto finish;
+        }
 
-        if (pid)
-                parse_pid(pid, &i->pid);
+        if (pid) {
+                r = parse_pid(pid, &i->pid);
+                if (r < 0)
+                        goto finish;
+        }
 
         if (who) {
                 cc = cunescape(who);