From c806ebbdfc8659c997d6369253b959d81dbcf8ca Mon Sep 17 00:00:00 2001 From: Marcin K Szczodrak Date: Thu, 22 Sep 2016 09:39:21 -0700 Subject: [PATCH] filter out messages with a duplicated address (#661) --- src/core/mac/mac.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/mac/mac.cpp b/src/core/mac/mac.cpp index 65dddb50d..3b75cc572 100644 --- a/src/core/mac/mac.cpp +++ b/src/core/mac/mac.cpp @@ -1051,6 +1051,10 @@ void Mac::ReceiveDoneTask(Frame *aFrame, ThreadError aError) ExitNow(error = kThreadError_InvalidSourceAddress); } + // Duplicate Address Protection + VerifyOrExit(memcmp(&srcaddr.mExtAddress, &mExtAddress, sizeof(srcaddr.mExtAddress)) != 0, + error = kThreadError_InvalidSourceAddress; otLogDebgMac("duplicate address received\n")); + // Source Whitelist Processing if (srcaddr.mLength != 0 && mWhitelist.IsEnabled()) {