ReportDescriptor.get report size check is wrong
ReportDescriptor.get(report_id, report_size)
enforces that report_size
is not greater than the reports' actual size in bytes. This fails for the stylus recording from libinput/libinput!558 (comment 792834) (direct link to attachment).
In that attachment, the device sends 32 bytes for report ID 8 but that report is only 13 bytes long. As a result, we don't annotate that report and only end up with the values in the output.
I'm guessing based on the comment there that the check is the wrong way round, see !110 (merged)
But what's the need for the size check here anyway? Wouldn't this be something better punted to the caller?
cc @bentiss