From 91d0da3c88d130c03a16813aeee7dbedc539b017 Mon Sep 17 00:00:00 2001 From: Jiri Kosina Date: Tue, 11 Nov 2008 23:45:38 +0100 Subject: HID: fix incorrent length condition in hidraw_write() upstream commit 2b107d629dc0c35de606bb7b010b829cd247a93a From: Jiri Kosina The bound check on the buffer length if (count > HID_MIN_BUFFER_SIZE) is of course incorrent, the proper check is if (count > HID_MAX_BUFFER_SIZE) Fix it. Reported-by: Jerry Ryle Signed-off-by: Jiri Kosina Cc: Paul Stoffregen Signed-off-by: Greg Kroah-Hartman --- drivers/hid/hidraw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c index c40f0403edaf..8c030d9dd0dd 100644 --- a/drivers/hid/hidraw.c +++ b/drivers/hid/hidraw.c @@ -113,7 +113,7 @@ static ssize_t hidraw_write(struct file *file, const char __user *buffer, size_t if (!dev->hid_output_raw_report) return -ENODEV; - if (count > HID_MIN_BUFFER_SIZE) { + if (count > HID_MAX_BUFFER_SIZE) { printk(KERN_WARNING "hidraw: pid %d passed too large report\n", task_pid_nr(current)); return -EINVAL; -- cgit v1.2.3