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: http://github.com/karelzak/util-linux/commit/5de9751997cf490088f62f41fd92be57cf7ceea4
Addresses: https://github.com/karelzak/util-linux/issues/1046
Signed-off-by: Karel Zak <kzak@redhat.com>
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);