diff options
author | Jiri Kosina <jkosina@suse.cz> | 2008-11-11 23:45:38 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-11-13 09:56:06 -0800 |
commit | 91d0da3c88d130c03a16813aeee7dbedc539b017 (patch) | |
tree | 9d9ac551dc5679c98ff96a34f881d57720a9b0ab | |
parent | 3c050502c4166dc12009f35eb41fabe9c900cd43 (diff) | |
download | lwn-91d0da3c88d130c03a16813aeee7dbedc539b017.tar.gz lwn-91d0da3c88d130c03a16813aeee7dbedc539b017.zip |
HID: fix incorrent length condition in hidraw_write()
upstream commit 2b107d629dc0c35de606bb7b010b829cd247a93a
From: Jiri Kosina <jkosina@suse.cz>
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 <jerry@mindtribe.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Cc: Paul Stoffregen <paul@pjrc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/hid/hidraw.c | 2 |
1 files changed, 1 insertions, 1 deletions
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; |