]> err.no Git - linux-2.6/blobdiff - drivers/char/keyboard.c
[PATCH] Add missing overflow check in get_blkdev_list
[linux-2.6] / drivers / char / keyboard.c
index 7b19e02f112fd585d02fe48e4eb1eb8c2a0001cc..523fd3c8bbaa75dd345224799990ec0c4f4e5e93 100644 (file)
@@ -198,10 +198,10 @@ int setkeycode(unsigned int scancode, unsigned int keycode)
 
        if (scancode >= dev->keycodemax)
                return -EINVAL;
-       if (keycode > KEY_MAX)
-               return -EINVAL;
        if (keycode < 0 || keycode > KEY_MAX)
                return -EINVAL;
+       if (keycode >> (dev->keycodesize * 8))
+               return -EINVAL;
 
        oldkey = SET_INPUT_KEYCODE(dev, scancode, keycode);