]> git.sur5r.net Git - u-boot/commitdiff
usb: kbd: Prevent out of bound access
authorMarek Vasut <marex@denx.de>
Mon, 25 Jan 2016 21:00:44 +0000 (22:00 +0100)
committerMarek Vasut <marex@denx.de>
Mon, 25 Jan 2016 21:00:46 +0000 (22:00 +0100)
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 <marex@denx.de>
common/usb_kbd.c

index cbb1995de3398431878811f92f6e79551b947965..d84865fbbe26bb337d9453a86c03d8dbb06ae43d 100644 (file)
@@ -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];