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>
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);
}