diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2018-07-09 12:30:23 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-07-09 12:30:22 -0700 |
commit | 792f7097d537a47d80f83c1d09cca6a0ec30a1dd (patch) | |
tree | 9cefe07f33d8b263367aeb94c084422d39e82a62 | |
parent | 78366da7ed3f01c3997ec5a3ee86c72a0d3a7518 (diff) | |
parent | 55fece3439eec26747436d073c13b9bfa21c1f9e (diff) |
Merge "hid: usbhid: Changes to prevent buffer overflow"
-rw-r--r-- | drivers/hid/usbhid/hiddev.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c index 700145b15088..da8fd9580223 100644 --- a/drivers/hid/usbhid/hiddev.c +++ b/drivers/hid/usbhid/hiddev.c @@ -510,13 +510,13 @@ static noinline int hiddev_ioctl_usage(struct hiddev *hiddev, unsigned int cmd, goto inval; field = report->field[uref->field_index]; + } - if (cmd == HIDIOCGCOLLECTIONINDEX) { - if (uref->usage_index >= field->maxusage) - goto inval; - } else if (uref->usage_index >= field->report_count) + if (cmd == HIDIOCGCOLLECTIONINDEX) { + if (uref->usage_index >= field->maxusage) goto inval; - } + } else if (uref->usage_index >= field->report_count) + goto inval; if ((cmd == HIDIOCGUSAGES || cmd == HIDIOCSUSAGES) && (uref_multi->num_values > HID_MAX_MULTI_USAGES || |