diff options
author | Vinicius Costa Gomes <vinicius.gomes@openbossa.org> | 2012-07-14 18:59:25 -0300 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-07-20 09:53:45 +0200 |
commit | adefb69b1b94df29ea2df05cd838c0e032b2c473 (patch) | |
tree | fee338077704e19810075750bb1b2c5577c358c9 /drivers/hid/uhid.c | |
parent | 1a8b294ce6b0cdab438175eed45ebb088bdd659a (diff) | |
download | op-kernel-dev-adefb69b1b94df29ea2df05cd838c0e032b2c473.zip op-kernel-dev-adefb69b1b94df29ea2df05cd838c0e032b2c473.tar.gz |
HID: uhid: Fix sending events with invalid data
This was detected because events with invalid types were arriving
to userspace.
The code before this patch would only work for the first event in the
queue (when uhid->tail is 0).
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
Reviewed-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/uhid.c')
-rw-r--r-- | drivers/hid/uhid.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hid/uhid.c b/drivers/hid/uhid.c index 119b7e6..714cd8c 100644 --- a/drivers/hid/uhid.c +++ b/drivers/hid/uhid.c @@ -465,7 +465,7 @@ try_again: goto try_again; } else { len = min(count, sizeof(**uhid->outq)); - if (copy_to_user(buffer, &uhid->outq[uhid->tail], len)) { + if (copy_to_user(buffer, uhid->outq[uhid->tail], len)) { ret = -EFAULT; } else { kfree(uhid->outq[uhid->tail]); |