diff options
-rw-r--r-- | login-utils/login.c | 17 | ||||
-rw-r--r-- | login-utils/logindefs.c | 6 | ||||
-rw-r--r-- | login-utils/logindefs.h | 2 | ||||
-rw-r--r-- | login-utils/su.c | 2 |
4 files changed, 14 insertions, 13 deletions
diff --git a/login-utils/login.c b/login-utils/login.c index 346f23bdb..9db4f0fe6 100644 --- a/login-utils/login.c +++ b/login-utils/login.c @@ -127,7 +127,7 @@ struct login_context { * This bounds the time given to login. Not a define so it can * be patched on machines where it's too small. */ -static int timeout = LOGIN_TIMEOUT; +static unsigned int timeout = LOGIN_TIMEOUT; static int child_pid = 0; static volatile int got_sig = 0; @@ -172,8 +172,8 @@ static void timedout(int sig __attribute__ ((__unused__))) { signal(SIGALRM, timedout2); alarm(10); - /* TRANSLATORS: The standard value for %d is 60. */ - warnx(_("timed out after %d seconds"), timeout); + /* TRANSLATORS: The standard value for %u is 60. */ + warnx(_("timed out after %u seconds"), timeout); signal(SIGALRM, SIG_IGN); alarm(0); timedout2(0); @@ -203,7 +203,7 @@ static void sig_handler(int signal) */ static void __attribute__ ((__noreturn__)) sleepexit(int eval) { - sleep(getlogindefs_num("FAIL_DELAY", LOGIN_EXIT_TIMEOUT)); + sleep((unsigned int)getlogindefs_num("FAIL_DELAY", LOGIN_EXIT_TIMEOUT)); exit(eval); } @@ -320,7 +320,7 @@ static void chown_tty(struct login_context *cxt) grname = getlogindefs_str("TTYGROUP", TTYGRPNAME); if (grname && *grname) { if (*grname >= 0 && *grname <= 9) /* group by ID */ - gid = getlogindefs_num("TTYGROUP", gid); + gid = (gid_t)getlogindefs_num("TTYGROUP", gid); else { /* group by name */ struct group *gr = getgrnam(grname); if (gr) @@ -772,7 +772,8 @@ static pam_handle_t *init_loginpam(struct login_context *cxt) static void loginpam_auth(struct login_context *cxt) { - int rc, failcount = 0, show_unknown, retries; + int rc, failcount = 0, show_unknown; + unsigned long retries; const char *hostname = cxt->hostname ? cxt->hostname : cxt->tty_name ? cxt->tty_name : "<unknown>"; pam_handle_t *pamh = cxt->pamh; @@ -1235,11 +1236,11 @@ int main(int argc, char **argv) .conv = { misc_conv, NULL } /* PAM conversation function */ }; - timeout = getlogindefs_num("LOGIN_TIMEOUT", LOGIN_TIMEOUT); + timeout = (unsigned int)getlogindefs_num("LOGIN_TIMEOUT", LOGIN_TIMEOUT); signal(SIGALRM, timedout); siginterrupt(SIGALRM, 1); /* we have to interrupt syscalls like ioclt() */ - alarm((unsigned int)timeout); + alarm(timeout); signal(SIGQUIT, SIG_IGN); signal(SIGINT, SIG_IGN); diff --git a/login-utils/logindefs.c b/login-utils/logindefs.c index 6117936b8..84f8d9352 100644 --- a/login-utils/logindefs.c +++ b/login-utils/logindefs.c @@ -186,17 +186,17 @@ int getlogindefs_bool(const char *name, int dflt) return ptr && ptr->value ? (strcasecmp(ptr->value, "yes") == 0) : dflt; } -long getlogindefs_num(const char *name, long dflt) +unsigned long getlogindefs_num(const char *name, long dflt) { struct item *ptr = search(name); char *end = NULL; - long retval; + unsigned long retval; if (!ptr || !ptr->value) return dflt; errno = 0; - retval = strtol(ptr->value, &end, 0); + retval = strtoul(ptr->value, &end, 0); if (end && *end == '\0' && !errno) return retval; diff --git a/login-utils/logindefs.h b/login-utils/logindefs.h index 24e946ef5..c5ccbc91b 100644 --- a/login-utils/logindefs.h +++ b/login-utils/logindefs.h @@ -4,7 +4,7 @@ extern void logindefs_load_file(const char *filename); extern void (*logindefs_load_defaults)(void); extern int getlogindefs_bool(const char *name, int dflt); -extern long getlogindefs_num(const char *name, long dflt); +extern unsigned long getlogindefs_num(const char *name, long dflt); extern const char *getlogindefs_str(const char *name, const char *dflt); extern void free_getlogindefs_data(void); extern int logindefs_setenv(const char *name, const char *conf, const char *dflt); diff --git a/login-utils/su.c b/login-utils/su.c index 0e8963233..7bc85b798 100644 --- a/login-utils/su.c +++ b/login-utils/su.c @@ -776,7 +776,7 @@ main (int argc, char **argv) if (!correct_password (pw)) { log_su (pw, false); - sleep (getlogindefs_num ("FAIL_DELAY", 1)); + sleep ((unsigned int)getlogindefs_num ("FAIL_DELAY", 1)); error (EXIT_FAIL, 0, _("incorrect password")); } else |