From: Alejandro Colomar Date: Fri, 1 Dec 2023 23:27:04 +0000 (+0100) Subject: lib/, src/: get_uid(): Use the usual -1 as an error code X-Git-Tag: 4.15.0-rc1~51 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=18c428a6c93b7e2387208a402804a90e565a5828;p=thirdparty%2Fshadow.git lib/, src/: get_uid(): Use the usual -1 as an error code Signed-off-by: Alejandro Colomar --- diff --git a/lib/get_uid.c b/lib/get_uid.c index 011b0adee..d7169325f 100644 --- a/lib/get_uid.c +++ b/lib/get_uid.c @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-3-Clause */ + #include #ident "$Id$" @@ -11,7 +12,9 @@ #include "prototypes.h" #include "defines.h" -int get_uid (const char *uidstr, uid_t *uid) + +int +get_uid(const char *uidstr, uid_t *uid) { long long val; char *endptr; @@ -22,10 +25,10 @@ int get_uid (const char *uidstr, uid_t *uid) || ('\0' != *endptr) || (0 != errno) || (/*@+longintegral@*/val != (uid_t)val)/*@=longintegral@*/) { - return 0; + return -1; } *uid = val; - return 1; + return 0; } diff --git a/lib/sgetpwent.c b/lib/sgetpwent.c index 5dc60bc6f..8dba02f82 100644 --- a/lib/sgetpwent.c +++ b/lib/sgetpwent.c @@ -94,7 +94,7 @@ struct passwd *sgetpwent (const char *buf) pwent.pw_name = fields[0]; pwent.pw_passwd = fields[1]; - if (get_uid (fields[2], &pwent.pw_uid) == 0) { + if (get_uid(fields[2], &pwent.pw_uid) == -1) { return NULL; } if (get_gid(fields[3], &pwent.pw_gid) == -1) { diff --git a/src/newusers.c b/src/newusers.c index 0ed7a3e09..09e14a480 100644 --- a/src/newusers.c +++ b/src/newusers.c @@ -343,7 +343,7 @@ static int get_user_id (const char *uid, uid_t *nuid) { * caller provided, or the next available UID. */ if (isdigit (uid[0])) { - if ((get_uid (uid, nuid) == 0) || (*nuid == (uid_t)-1)) { + if ((get_uid(uid, nuid) == -1) || (*nuid == (uid_t)-1)) { fprintf (stderr, _("%s: invalid user ID '%s'\n"), Prog, uid); diff --git a/src/useradd.c b/src/useradd.c index 3437a5721..9a57a3193 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -1447,7 +1447,7 @@ static void process_flags (int argc, char **argv) sflg = true; break; case 'u': - if ( (get_uid (optarg, &user_id) == 0) + if ( (get_uid(optarg, &user_id) == -1) || (user_id == (gid_t)-1)) { fprintf (stderr, _("%s: invalid user ID '%s'\n"), diff --git a/src/usermod.c b/src/usermod.c index 8ff0202da..76955c25c 100644 --- a/src/usermod.c +++ b/src/usermod.c @@ -1151,7 +1151,7 @@ static void process_flags (int argc, char **argv) sflg = true; break; case 'u': - if ( (get_uid (optarg, &user_newid) ==0) + if ( (get_uid(optarg, &user_newid) == -1) || (user_newid == (uid_t)-1)) { fprintf (stderr, _("%s: invalid user ID '%s'\n"),