From 21563e87e65669acec43344de6e7a27e8616d6fc Mon Sep 17 00:00:00 2001 From: john30 Date: Mon, 16 Mar 2015 08:27:50 +0100 Subject: [PATCH] log invalid self-addressed messages and skip them --- src/ebusd/bushandler.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ebusd/bushandler.cpp b/src/ebusd/bushandler.cpp index 836c6483..619e2933 100644 --- a/src/ebusd/bushandler.cpp +++ b/src/ebusd/bushandler.cpp @@ -134,7 +134,7 @@ bool ScanRequest::notify(result_t result, SymbolString& slave) bool ActiveBusRequest::notify(result_t result, SymbolString& slave) { if (result == RESULT_OK) - logNotice(lf_bus, "read res: %s", slave.getDataStr().c_str()); + logDebug(lf_bus, "read res: %s", slave.getDataStr().c_str()); m_result = result; m_slave.addAll(slave); @@ -692,6 +692,10 @@ result_t BusHandler::setState(BusState state, result_t result, bool firstRepetit void BusHandler::receiveCompleted() { unsigned char srcAddress = m_command[0], dstAddress = m_command[1]; + if (srcAddress == dstAddress) { + logError(lf_bus, "invalid self-addressed message from %2.2x", srcAddress); + return; + } if (isMaster(srcAddress) && !m_seenAddresses[srcAddress]) { m_masterCount++; if (m_autoLockCount && m_masterCount>m_lockCount)