From: Denis Vlasenko Date: Fri, 3 Aug 2007 14:17:21 +0000 (-0000) Subject: less: add a bit more robustness in keyboard reading code X-Git-Tag: 1_7_0~76 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=46340e398e93898ce097b06f5e26c86e33fd651a;p=oweals%2Fbusybox.git less: add a bit more robustness in keyboard reading code --- diff --git a/miscutils/less.c b/miscutils/less.c index 9b2c43bd5..a6649c5ca 100644 --- a/miscutils/less.c +++ b/miscutils/less.c @@ -699,10 +699,11 @@ static int less_getch(void) char input[16]; unsigned i; again: + memset(input, 0, sizeof(input)); getch_nowait(input, sizeof(input)); + /* Detect escape sequences (i.e. arrow keys) and handle * them accordingly */ - if (input[0] == '\033' && input[1] == '[') { set_tty_cooked(); i = input[2] - REAL_KEY_UP; @@ -740,6 +741,7 @@ static char* less_gets(int sz) * but it is needed. Is it because of stdio? */ tcsetattr(kbd_fd, TCSANOW, &term_less); + c = '\0'; read(kbd_fd, &c, 1); if (c == 0x0d) return result;