From: Vinicius Costa Gomes Date: Sat, 14 Jul 2012 21:59:25 +0000 (-0300) Subject: HID: uhid: Fix sending events with invalid data X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=adefb69b1b94df29ea2df05cd838c0e032b2c473;p=linux-beck.git 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 Reviewed-by: David Herrmann Signed-off-by: Jiri Kosina --- diff --git a/drivers/hid/uhid.c b/drivers/hid/uhid.c index 119b7e6405be..714cd8cc9579 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]);