Fix usbhid-dump SIGSEGV on #100

master
pixl 4 years ago
parent dde2993223
commit 0f60c3896c
No known key found for this signature in database
GPG Key ID: 1866C148CD593B6E
  1. 5
      src/logid/backend/hidpp/Report.cpp
  2. 3
      src/logid/backend/raw/RawDevice.cpp

@ -161,9 +161,10 @@ Report::Report(Report::Type type, DeviceIndex device_index,
(sw_id & 0x0f);
}
Report::Report(const std::vector<uint8_t>& data)
Report::Report(const std::vector<uint8_t>& data) :
_data (data)
{
_data = data;
_data.resize(HeaderLength + LongParamLength);
// Truncating data is entirely valid here.
switch(_data[Offset::Type]) {

@ -262,6 +262,9 @@ std::vector<uint8_t> RawDevice::_respondToReport
throw TimeoutError();
_readReport(response, MAX_DATA_LENGTH, timeout);
if(!_continue_respond)
throw TimeoutError();
// All reports have the device index at byte 2
if(response[1] != request[1]) {
if(_continue_listen)

Loading…
Cancel
Save