Index: sources/canbus/messageinterpreter.cpp =================================================================== diff -u -r0a2ca0373a422201d5316df8fb891ef38799e3f9 -red85c796c2e3bd73aeda374d9a109750bd7732e3 --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 0a2ca0373a422201d5316df8fb891ef38799e3f9) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision ed85c796c2e3bd73aeda374d9a109750bd7732e3) @@ -88,12 +88,15 @@ 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 length for transmit Message with ID '%1'").arg(mActionIdHexString)); - return false; - } - return true; + if (payloadLen[vActionId] == 0) + return true; // Message with zero length data are ok as been defined + + if (vData.length()) return true; + + QString mActionIdHexString = Format::toHexString(vActionId); + LOG_DEBUG(QString("Data length for transmit Message with ID '%1'Can't be 0") + .arg(mActionIdHexString)); + return false; } /*! * \brief MessageInterpreter::validateMessage