chiark / gitweb /
logind: fix borked r check
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 9 May 2018 23:34:33 +0000 (01:34 +0200)
committerSven Eden <yamakuzure@gmx.net>
Fri, 24 Aug 2018 14:47:08 +0000 (16:47 +0200)
CID #1390947, #1390952.

src/login/logind.c

index dfd657de7b62b5e387b58039ad13c0a46cc6767a..aba93fd15c5955acfdd863be3bf4f5222c7a6203 100644 (file)
@@ -416,14 +416,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;