agetty: ignore ^C
Danc86 wrote:
With agetty 2.32.1 and earlier, ^C at the login prompt is ignored. I
noticed when upgrading to agetty 2.34, typing ^C now causes agetty to
stop responding for 10 seconds and then it dies (and gets restarted by
system and a new login prompt is printed).
It logs this message:
agetty[46048]: ttyS0: invalid character 0x3 in login name
Previously the !isprint(ascval) condition would have caused control
characters like ^C (\x03) to be discarded, whereas now it falls
through to trying to decode it as part of a UTF-8 sequence, and then
fails.
Fixes: 5de9751997
Addresses: https://github.com/karelzak/util-linux/issues/1046
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
83fdb880b9
commit
88aefd4c46
|
@ -2271,6 +2271,9 @@ static char *get_logname(struct issue *ie, struct options *op, struct termios *t
|
|||
break;
|
||||
case CTL('D'):
|
||||
exit(EXIT_SUCCESS);
|
||||
case CTL('C'):
|
||||
/* Ignore */
|
||||
break;
|
||||
default:
|
||||
if ((size_t)(bp - logname) >= sizeof(logname) - 1)
|
||||
log_err(_("%s: input overrun"), op->tty);
|
||||
|
|
Loading…
Reference in New Issue