ui/curses.c: Ensure we don't read off the end of curses2qemu array

Coverity spots that there is no bounds check before we
access the curses2qemu[] array.  Add one, bringing this
code path into line with the one that looks up entries
in curses2keysym[].

In theory getch() shouldn't return out of range keycodes,
but it's better not to assume this.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1470925407-23850-2-git-send-email-peter.maydell@linaro.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Peter Maydell 2016-08-11 15:23:26 +01:00 committed by Gerd Hoffmann
parent 7263da7804
commit bba4e1b591
1 changed files with 4 additions and 1 deletions

View File

@ -317,7 +317,10 @@ static void curses_refresh(DisplayChangeListener *dcl)
qemu_input_event_send_key_delay(0);
}
} else {
keysym = curses2qemu[chr];
keysym = -1;
if (chr < CURSES_KEYS) {
keysym = curses2qemu[chr];
}
if (keysym == -1)
keysym = chr;