HID: steelseries: fix out of bound array access
authorJiri Kosina <jkosina@suse.cz>
Thu, 31 Jan 2013 15:51:47 +0000 (16:51 +0100)
committerJiri Kosina <jkosina@suse.cz>
Thu, 31 Jan 2013 15:51:47 +0000 (16:51 +0100)
The last field of the driver_data->leds[] array is used to store the
special toggle for setting all leds simultaneously, so we need to allocate
appropriate number of led_classdev pointers.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-steelseries.c

index 365bc9e..2ed995c 100644 (file)
@@ -23,7 +23,8 @@
 #define SRWS1_NUMBER_LEDS 15
 struct steelseries_srws1_data {
        __u16 led_state;
-       struct led_classdev *led[SRWS1_NUMBER_LEDS];
+       /* the last element is used for setting all leds simultaneously */
+       struct led_classdev *led[SRWS1_NUMBER_LEDS + 1];
 };
 #endif