user: correct check for getpwnam/gegrpnam failures
authorRobert Swiecki <robert@swiecki.net>
Sat, 2 Dec 2017 01:53:32 +0000 (02:53 +0100)
committerRobert Swiecki <robert@swiecki.net>
Sat, 2 Dec 2017 01:53:32 +0000 (02:53 +0100)
user.c

diff --git a/user.c b/user.c
index 2aeb4715e9433443acf54280089b57324a37e2e5..c34b0c4f79529729d0d4f126786f82969509de4b 100644 (file)
--- a/user.c
+++ b/user.c
@@ -327,7 +327,7 @@ static uid_t cmdParseUid(const char* id) {
        if (utilIsANumber(id)) {
                return (uid_t)strtoull(id, NULL, 0);
        }
-       return -1;
+       return (uid_t)-1;
 }
 
 static gid_t cmdParseGid(const char* id) {
@@ -341,7 +341,7 @@ static gid_t cmdParseGid(const char* id) {
        if (utilIsANumber(id)) {
                return (gid_t)strtoull(id, NULL, 0);
        }
-       return -1;
+       return (gid_t)-1;
 }
 
 bool userParseId(struct nsjconf_t* nsjconf, const char* i_id, const char* o_id, size_t cnt,
@@ -356,7 +356,7 @@ bool userParseId(struct nsjconf_t* nsjconf, const char* i_id, const char* o_id,
                        return false;
                }
                outside_id = cmdParseGid(o_id);
-               if (inside_id == (uid_t)-1) {
+               if (outside_id == (uid_t)-1) {
                        LOG_W("Cannot parse '%s' as GID", o_id);
                        return false;
                }
@@ -367,7 +367,7 @@ bool userParseId(struct nsjconf_t* nsjconf, const char* i_id, const char* o_id,
                        return false;
                }
                outside_id = cmdParseUid(o_id);
-               if (inside_id == (uid_t)-1) {
+               if (outside_id == (uid_t)-1) {
                        LOG_W("Cannot parse '%s' as UID", o_id);
                        return false;
                }