]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-bus: handle ppid=0 more gracefully (which happens for pid=1)
authorLennart Poettering <lennart@poettering.net>
Wed, 22 Apr 2015 11:27:29 +0000 (13:27 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 22 Apr 2015 11:27:53 +0000 (13:27 +0200)
src/libsystemd/sd-bus/bus-creds.c

index 6cb47f55ceff6a048a375cffd614b26662f17a9c..a68b0d00eddd0684448d05e03870e73d1a841c49 100644 (file)
@@ -768,11 +768,14 @@ int bus_creds_add_more(sd_bus_creds *c, uint64_t mask, pid_t pid, pid_t tid) {
                                         if (p) {
                                                 p += strspn(p, WHITESPACE);
 
-                                                r = parse_pid(p, &c->ppid);
-                                                if (r < 0)
-                                                        return r;
+                                                /* Explicitly check for PPID 0 (which is the case for PID 1) */
+                                                if (!streq(p, "0")) {
+                                                        r = parse_pid(p, &c->ppid);
+                                                        if (r < 0)
+                                                                return r;
 
-                                                c->mask |= SD_BUS_CREDS_PPID;
+                                                        c->mask |= SD_BUS_CREDS_PPID;
+                                                }
                                                 continue;
                                         }
                                 }