Index: sources/canbus/messageinterpreter.cpp =================================================================== diff -u -rb789046c096cfdddb39adcd3d5be1e129769aac6 -r03de7d132838c54a23862809357c42102b6dab99 --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 03de7d132838c54a23862809357c42102b6dab99) @@ -40,9 +40,13 @@ bool MessageInterpreter::isPayloadLenValid(const Message &vMessage, Gui::GuiActionType vType) const { + QString mActionIdHexString = Format::toHexString(vMessage.actionId); + if ( ! payloadLen.contains(vType) ) { + LOG_ERROR(tr("Undefined data length for Message ID (HD) '%1'").arg(mActionIdHexString)); + return false; + } if ( vMessage.data.length() < payloadLen[vType] ) { - QString mActionIdHexString = Format::toHexString(vMessage.actionId); - LOG_ERROR(tr("Incorrect data for Message ID (HD) '%1'").arg(mActionIdHexString)); + LOG_ERROR(tr("Incorrect data length for Message ID (HD) '%1'").arg(mActionIdHexString)); return false; } return true; @@ -772,7 +776,7 @@ if ( ! isType (vMessage, Gui::GuiActionType::UltrafiltrationState) ) return ok; if ( ! isPayloadLenValid(vMessage, Gui::GuiActionType::AcknowGeneric ) ) return ok; - Model::MTreatmentUltrafiltrationState mData; + Model::MUltrafiltrationStateResponse mData; ok = mData.fromByteArray(vMessage.data); LOG_DATUM(mData.toString());