From 1d28b828faf43f13144ffa767039a4250f8fb8b9 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 12 Mar 2012 12:43:53 +0100 Subject: [PATCH] sulogin: parse timeout more carefully Signed-off-by: Karel Zak --- login-utils/Makefile.am | 3 +++ login-utils/sulogin.c | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/login-utils/Makefile.am b/login-utils/Makefile.am index 6d5f4e97bf..fbc73ece24 100644 --- a/login-utils/Makefile.am +++ b/login-utils/Makefile.am @@ -50,6 +50,9 @@ login_SOURCES = \ logindefs.c \ logindefs.h \ $(top_srcdir)/lib/setproctitle.c +sulogin_SOURCES = \ + sulogin.c \ + $(top_srcdir)/lib/strutils.c vipw_SOURCES = \ vipw.c \ setpwnam.h diff --git a/login-utils/sulogin.c b/login-utils/sulogin.c index 657bb6b443..999fc2085a 100644 --- a/login-utils/sulogin.c +++ b/login-utils/sulogin.c @@ -48,8 +48,9 @@ #include "c.h" #include "nls.h" #include "pathnames.h" +#include "strutils.h" -static int timeout; +static unsigned int timeout; static int profile; struct sigaction saved_sigint; @@ -449,7 +450,7 @@ int main(int argc, char **argv) while ((c = getopt_long(argc, argv, "ehpt:V", longopts, NULL)) != -1) { switch(c) { case 't': - timeout = atoi(optarg); + timeout = strtoul_or_err(optarg, _("failed to parse timeout")); break; case 'p': profile = 1; -- 2.47.2