From 844580ff63ef4eb19eec4cfd8cd6e0b62d81279f Mon Sep 17 00:00:00 2001 From: Nestor Lopez Casado Date: Tue, 20 Sep 2011 15:59:03 +0200 Subject: HID: hid-logitech-dj: fix off by one There is a bug where a device with index 6 would write out of bounds in the array of paired devices. This patch fixes that problem. Reported-by: Dan Carpenter Reviewed-by: Benjamin Tissoires Reviewed-by: Olivier Gay Signed-off-by: Nestor Lopez Casado Signed-off-by: Jiri Kosina --- drivers/hid/hid-logitech-dj.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'drivers/hid/hid-logitech-dj.h') diff --git a/drivers/hid/hid-logitech-dj.h b/drivers/hid/hid-logitech-dj.h index 5982263acd73..fd28a5e0ca3b 100644 --- a/drivers/hid/hid-logitech-dj.h +++ b/drivers/hid/hid-logitech-dj.h @@ -27,6 +27,8 @@ #define DJ_MAX_PAIRED_DEVICES 6 #define DJ_MAX_NUMBER_NOTIFICATIONS 8 +#define DJ_DEVICE_INDEX_MIN 1 +#define DJ_DEVICE_INDEX_MAX 6 #define DJREPORT_SHORT_LENGTH 15 #define DJREPORT_LONG_LENGTH 32 @@ -94,7 +96,8 @@ struct dj_report { struct dj_receiver_dev { struct hid_device *hdev; - struct dj_device *paired_dj_devices[DJ_MAX_PAIRED_DEVICES]; + struct dj_device *paired_dj_devices[DJ_MAX_PAIRED_DEVICES + + DJ_DEVICE_INDEX_MIN]; struct work_struct work; struct kfifo notif_fifo; spinlock_t lock; -- cgit v1.2.3