Index: sources/canbus/messageinterpreter.cpp =================================================================== diff -u -r3aab84456cfbdc4c4f495975ba9b8968eb844309 -r0a2ca0373a422201d5316df8fb891ef38799e3f9 --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 3aab84456cfbdc4c4f495975ba9b8968eb844309) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 0a2ca0373a422201d5316df8fb891ef38799e3f9) @@ -85,9 +85,12 @@ bool MessageInterpreter::isDataLenValid(const Gui::GuiActionType &vActionId, const QVariantList &vData) { - if (vData.count() == 0) { + if (vActionId == Gui::GuiActionType::ID_KeepAlive) + return true; // This message is an exception which is also used to generate fake data and it has a variable length. + + if (vData.length() < payloadLen[vActionId]) { QString mActionIdHexString = Format::toHexString(vActionId); - LOG_DEBUG(QString("Incorrect data for transmit Message with ID '%1'").arg(mActionIdHexString)); + LOG_DEBUG(QString("Incorrect data length for transmit Message with ID '%1'").arg(mActionIdHexString)); return false; } return true;