diff mbox

[1/5] USB: HID: SRW-S1 Gaming Wheel Driver

Message ID alpine.LNX.2.00.1301311653090.23853@pobox.suse.cz (mailing list archive)
State New, archived
Delegated to: Jiri Kosina
Headers show

Commit Message

Jiri Kosina Jan. 31, 2013, 3:54 p.m. UTC
On Thu, 31 Jan 2013, simon@mungewell.org wrote:

> > I thought we converged to hid-steelseries name in the end originally?
> >
> > If you agree, I'll change it and apply.
> 
> I'd be OK with that,

Thanks. I will also apply this patch on top, otherwise we'll be corrupting 
memory in steelseries_srws1_probe() here:

	drv_data->led[SRWS1_NUMBER_LEDS] = led;



From: Jiri Kosina <jkosina@suse.cz>
Subject: [PATCH] HID: steelseries: fix out of bound array access

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 |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

Comments

simon@mungewell.org Jan. 31, 2013, 4:15 p.m. UTC | #1
> On Thu, 31 Jan 2013, simon@mungewell.org wrote:
>
>> > I thought we converged to hid-steelseries name in the end originally?
>> >
>> > If you agree, I'll change it and apply.
>>
>> I'd be OK with that,
>
> Thanks. I will also apply this patch on top, otherwise we'll be corrupting
> memory in steelseries_srws1_probe() here:
>
> 	drv_data->led[SRWS1_NUMBER_LEDS] = led;
>


You are correct.

Bugger! I had that in the original patch, but must have missed it when
copying over to new file name.

Thanks,
Simon.

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/hid/hid-steelseries.c b/drivers/hid/hid-steelseries.c
index 365bc9e..2ed995c 100644
--- a/drivers/hid/hid-steelseries.c
+++ b/drivers/hid/hid-steelseries.c
@@ -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