Skip to content
Snippets Groups Projects
Commit f4fb5438 authored by David Gilhooley's avatar David Gilhooley
Browse files

[zircon][hid-parser] Fix HID wrapper casts

We accidentally cast to input_report_id_t instead of
input_report_size_t, which means that any values above
255 were being truncated.

TEST: runtests -a -t hid-test

ZX-3148

Change-Id: I0c79c5773e2f08d93221c9460c4c08975602fb8b
parent 36d22dc2
No related branches found
No related tags found
Loading
......@@ -35,13 +35,15 @@ zx_status_t hid_lib_parse_reports(const uint8_t* buf, const size_t buf_len,
input_report_size_t size = field->attr.bit_sz;
switch (field->type) {
case hid::kInput:
hiddev_rep->in_size = static_cast<input_report_id_t>(hiddev_rep->in_size + size);
hiddev_rep->in_size = static_cast<input_report_size_t>(hiddev_rep->in_size + size);
break;
case hid::kOutput:
hiddev_rep->out_size = static_cast<input_report_id_t>(hiddev_rep->out_size + size);
hiddev_rep->out_size = static_cast<input_report_size_t>(hiddev_rep->out_size
+ size);
break;
case hid::kFeature:
hiddev_rep->feat_size = static_cast<input_report_id_t>(hiddev_rep->feat_size + size);
hiddev_rep->feat_size = static_cast<input_report_size_t>(hiddev_rep->feat_size
+ size);
break;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment