]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/chkname.c: Use tmp variable to avoid a -Wsign-compare warning
authorAlejandro Colomar <alx@kernel.org>
Sat, 2 Sep 2023 12:15:43 +0000 (14:15 +0200)
committerAlejandro Colomar <alx@kernel.org>
Sun, 4 Feb 2024 23:40:18 +0000 (00:40 +0100)
I used size_t because:

sysconf(3) can return -1 if the value is not supported, but then it can
only mean that there's no limit.  Having no limit is the same as having
a limit of SIZE_MAX (to which -1 is converted).

Signed-off-by: Alejandro Colomar <alx@kernel.org>
Cherry-picked-from: 6be85b0bafb5 ("lib/chkname.c: Use tmp variable to avoid a -Wsign-compare warning")
[alx: This is to cherry-pick the next commit without conflict]
Link: <https://github.com/shadow-maint/shadow/pull/801>
Link: <https://github.com/shadow-maint/shadow/pull/935>
Cc: Serge Hallyn <serge@hallyn.com>
Cc: Tobias Stoeckmann <tobias@stoeckmann.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/chkname.c

index 2b83361b82bdeaa62d895a60e8d3a250a64eefe5..d22e1b6b455c2f8b8d971d3abce3ead34242f8c1 100644 (file)
@@ -74,12 +74,14 @@ static bool is_valid_name (const char *name)
 
 bool is_valid_user_name (const char *name)
 {
+       size_t  maxlen;
+
        /*
         * User names length are limited by the kernel
         */
-       if (strlen (name) > sysconf(_SC_LOGIN_NAME_MAX)) {
+       maxlen = sysconf(_SC_LOGIN_NAME_MAX);
+       if (strlen(name) > maxlen)
                return false;
-       }
 
        return is_valid_name (name);
 }