From: Lennart Poettering Date: Wed, 22 Apr 2015 11:27:29 +0000 (+0200) Subject: sd-bus: handle ppid=0 more gracefully (which happens for pid=1) X-Git-Tag: v226.4~1^2~441 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=95889ba3d6c212459d8ec946b6cbaed64ba648fc;p=elogind.git sd-bus: handle ppid=0 more gracefully (which happens for pid=1) --- diff --git a/src/libelogind/sd-bus/bus-creds.c b/src/libelogind/sd-bus/bus-creds.c index ab48aafcc..9d519c473 100644 --- a/src/libelogind/sd-bus/bus-creds.c +++ b/src/libelogind/sd-bus/bus-creds.c @@ -734,11 +734,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; } }