From 1c4b2d43926e2a7032310cd18b411d8d872cb4ed Mon Sep 17 00:00:00 2001 From: Andreas Henriksson Date: Mon, 28 Nov 2016 17:24:50 +0100 Subject: sulogin: bail out from getpasswd(...) on timeout If timeout happens while waiting in prompt, bail out instead of retrying. Reported-by: Bjørn Mork Addresses: http://bugs.debian.org/846107 Signed-off-by: Andreas Henriksson --- login-utils/sulogin.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'login-utils/sulogin.c') diff --git a/login-utils/sulogin.c b/login-utils/sulogin.c index 806a967f0..8dc2b639d 100644 --- a/login-utils/sulogin.c +++ b/login-utils/sulogin.c @@ -645,6 +645,10 @@ static char *getpasswd(struct console *con) while (cp->eol == '\0') { if (read(fd, &c, 1) < 1) { if (errno == EINTR || errno == EAGAIN) { + if (alarm_rised) { + ret = NULL; + goto quit; + } xusleep(250000); continue; } -- cgit v1.2.3-55-g7522