From: Zbigniew Jędrzejewski-Szmek Date: Wed, 9 May 2018 23:34:33 +0000 (+0200) Subject: logind: fix borked r check X-Git-Tag: v239~287^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=36591e108093a16892d8521babc18ad246fb594b;p=thirdparty%2Fsystemd.git logind: fix borked r check CID #1390947, #1390952. --- diff --git a/src/login/logind.c b/src/login/logind.c index 385c9773995..96f48cbd17f 100644 --- a/src/login/logind.c +++ b/src/login/logind.c @@ -389,14 +389,18 @@ static int parse_fdname(const char *fdname, char **session_id, dev_t *dev) { if (!streq(parts[0], "session")) return -EINVAL; + id = strdup(parts[1]); if (!id) return -ENOMEM; if (!streq(parts[2], "device")) return -EINVAL; - r = safe_atou(parts[3], &major) || - safe_atou(parts[4], &minor); + + r = safe_atou(parts[3], &major); + if (r < 0) + return r; + r = safe_atou(parts[4], &minor); if (r < 0) return r;