diff --git a/lib/limits.c b/lib/limits.c index 6d3a3037..6c1a97f6 100644 --- a/lib/limits.c +++ b/lib/limits.c @@ -507,10 +507,9 @@ void setup_limits (const struct passwd *info) continue; } if (strncmp (cp, "umask=", 6) == 0) { - unsigned long mask; + mode_t mask; - if ( (str2ul(&mask, cp + 6) == -1) - || (mask != (mode_t) mask)) { + if (str2i(mode_t, &mask, cp + 6) == -1) { SYSLOG ((LOG_WARN, "Can't set umask value for user %s", info->pw_name));