From: Jiri Kosina Date: Tue, 11 Nov 2008 22:45:38 +0000 (+0100) Subject: HID: fix incorrent length condition in hidraw_write() X-Git-Tag: v2.6.27.6~1 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=91d0da3c88d130c03a16813aeee7dbedc539b017;p=karo-tx-linux.git 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 --- 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;