forked from Minki/linux
HID: fix parsing of local delimiter with size 0
Acording to HID standard 1.11, value 0 allows for size being 0. Local delimiter tag has has 0 one of the possible values. Therefore we need to handle this case properly, to be fully compliant with the specification. Reported-by: Marcin Tolysz <tolysz@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
cf2f765f18
commit
722612cd51
@ -387,7 +387,8 @@ static int hid_parser_local(struct hid_parser *parser, struct hid_item *item)
|
||||
__u32 data;
|
||||
unsigned n;
|
||||
|
||||
if (item->size == 0) {
|
||||
/* Local delimiter could have value 0, which allows size to be 0 */
|
||||
if (item->size == 0 && item->tag != HID_LOCAL_ITEM_TAG_DELIMITER) {
|
||||
dbg_hid("item data expected for local item\n");
|
||||
return -1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user