From bdbcbe752e93357226cba12a6ce00bbe54cb5db8 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Mon, 25 Jan 2016 22:00:44 +0100 Subject: usb: kbd: Prevent out of bound access Scan code 0x39 is CapsLock, which is not a printable character and thus is not covered by either usb_kbd_numkey_shifted[] or usb_kbd_numkey[]. Fix the scan code check to avoid looking it up in either of the arrays. Signed-off-by: Marek Vasut --- common/usb_kbd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'common/usb_kbd.c') diff --git a/common/usb_kbd.c b/common/usb_kbd.c index cbb1995de3..d84865fbbe 100644 --- a/common/usb_kbd.c +++ b/common/usb_kbd.c @@ -199,7 +199,7 @@ static int usb_kbd_translate(struct usb_kbd_pdata *data, unsigned char scancode, } } - if ((scancode > 0x1d) && (scancode < 0x3a)) { + if ((scancode > 0x1d) && (scancode < 0x39)) { /* Shift pressed */ if (modifier & (LEFT_SHIFT | RIGHT_SHIFT)) keycode = usb_kbd_numkey_shifted[scancode - 0x1e]; -- cgit