mirror of
https://github.com/espressif/openthread.git
synced 2026-08-15 07:07:46 +00:00
Make VerifyOrExit() action argument optional. (#1554)
This commit is contained in:
+3
-3
@@ -1454,7 +1454,7 @@ void Interpreter::HandleIcmpReceive(Message &aMessage, const Ip6::MessageInfo &a
|
||||
{
|
||||
uint32_t timestamp = 0;
|
||||
|
||||
VerifyOrExit(aIcmpHeader.GetType() == kIcmp6TypeEchoReply, ;);
|
||||
VerifyOrExit(aIcmpHeader.GetType() == kIcmp6TypeEchoReply);
|
||||
|
||||
sServer->OutputFormat("%d bytes from ", aMessage.GetLength() - aMessage.GetOffset());
|
||||
sServer->OutputFormat("%x:%x:%x:%x:%x:%x:%x:%x",
|
||||
@@ -2841,7 +2841,7 @@ void Interpreter::ProcessLine(char *aBuf, uint16_t aBufLength, Server &aServer)
|
||||
|
||||
sServer = &aServer;
|
||||
|
||||
VerifyOrExit(aBuf != NULL, ;);
|
||||
VerifyOrExit(aBuf != NULL);
|
||||
|
||||
for (; *aBuf == ' '; aBuf++, aBufLength--);
|
||||
|
||||
@@ -2903,7 +2903,7 @@ void Interpreter::HandleNetifStateChanged(otInstance *aInstance, uint32_t aFlags
|
||||
void Interpreter::HandleNetifStateChanged(uint32_t aFlags)
|
||||
#endif
|
||||
{
|
||||
VerifyOrExit((aFlags & OT_THREAD_NETDATA_UPDATED) != 0, ;);
|
||||
VerifyOrExit((aFlags & OT_THREAD_NETDATA_UPDATED) != 0);
|
||||
|
||||
#ifndef OTDLL
|
||||
otIp6SlaacUpdate(mInstance, mSlaacAddresses, sizeof(mSlaacAddresses) / sizeof(mSlaacAddresses[0]),
|
||||
|
||||
@@ -294,7 +294,7 @@ ThreadError Dataset::ProcessCommit(otInstance *aInstance, int argc, char *argv[]
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
|
||||
VerifyOrExit(argc > 0, ;);
|
||||
VerifyOrExit(argc > 0);
|
||||
|
||||
if (strcmp(argv[0], "active") == 0)
|
||||
{
|
||||
|
||||
@@ -197,7 +197,7 @@ int Uart::OutputFormatV(const char *aFmt, va_list aAp)
|
||||
|
||||
void Uart::Send(void)
|
||||
{
|
||||
VerifyOrExit(mSendLength == 0, ;);
|
||||
VerifyOrExit(mSendLength == 0);
|
||||
|
||||
if (mTxLength > kTxBufferSize - mTxHead)
|
||||
{
|
||||
|
||||
+1
-1
@@ -75,7 +75,7 @@ void Udp::HandleUdpReceive(otMessage *aMessage, const otMessageInfo *aMessageInf
|
||||
uint16_t payloadLength = otMessageGetLength(aMessage) - otMessageGetOffset(aMessage);
|
||||
char buf[512];
|
||||
|
||||
VerifyOrExit(payloadLength <= sizeof(buf), ;);
|
||||
VerifyOrExit(payloadLength <= sizeof(buf));
|
||||
otMessageRead(aMessage, otMessageGetOffset(aMessage), buf, payloadLength);
|
||||
|
||||
if (buf[payloadLength - 1] == '\n')
|
||||
|
||||
@@ -112,12 +112,12 @@ otInstance *otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
|
||||
|
||||
otLogFuncEntry();
|
||||
|
||||
VerifyOrExit(aInstanceBufferSize != NULL, ;);
|
||||
VerifyOrExit(aInstanceBufferSize != NULL);
|
||||
|
||||
// Make sure the input buffer is big enough
|
||||
VerifyOrExit(sizeof(otInstance) <= *aInstanceBufferSize, *aInstanceBufferSize = sizeof(otInstance));
|
||||
|
||||
VerifyOrExit(aInstanceBuffer != NULL, ;);
|
||||
VerifyOrExit(aInstanceBuffer != NULL);
|
||||
|
||||
// Construct the context
|
||||
aInstance = new(aInstanceBuffer)otInstance();
|
||||
@@ -139,7 +139,7 @@ otInstance *otInstanceInit()
|
||||
{
|
||||
otLogFuncEntry();
|
||||
|
||||
VerifyOrExit(sInstance == NULL, ;);
|
||||
VerifyOrExit(sInstance == NULL);
|
||||
|
||||
// Construct the context
|
||||
sInstance = new(&sInstanceRaw)otInstance();
|
||||
|
||||
@@ -312,7 +312,7 @@ void HandleActiveScanResult(void *aContext, Mac::Frame *aFrame)
|
||||
}
|
||||
|
||||
SuccessOrExit(aFrame->GetSrcAddr(address));
|
||||
VerifyOrExit(address.mLength == sizeof(address.mExtAddress), ;);
|
||||
VerifyOrExit(address.mLength == sizeof(address.mExtAddress));
|
||||
memcpy(&result.mExtAddress, &address.mExtAddress, sizeof(result.mExtAddress));
|
||||
|
||||
aFrame->GetSrcPanId(result.mPanId);
|
||||
|
||||
@@ -145,7 +145,7 @@ RadioPacket *otLinkRawGetTransmitBuffer(otInstance *aInstance)
|
||||
{
|
||||
RadioPacket *buffer = NULL;
|
||||
|
||||
VerifyOrExit(aInstance->mLinkRaw.IsEnabled(),);
|
||||
VerifyOrExit(aInstance->mLinkRaw.IsEnabled());
|
||||
|
||||
buffer = otPlatRadioGetTransmitBuffer(aInstance);
|
||||
|
||||
|
||||
@@ -42,9 +42,9 @@ Message *CoapBase::NewMessage(const Header &aHeader)
|
||||
Message *message = NULL;
|
||||
|
||||
// Ensure that header has minimum required length.
|
||||
VerifyOrExit(aHeader.GetLength() >= Header::kMinHeaderLength, ;);
|
||||
VerifyOrExit(aHeader.GetLength() >= Header::kMinHeaderLength);
|
||||
|
||||
VerifyOrExit((message = mSocket.NewMessage(aHeader.GetLength())) != NULL, ;);
|
||||
VerifyOrExit((message = mSocket.NewMessage(aHeader.GetLength())) != NULL);
|
||||
message->Prepend(aHeader.GetBytes(), aHeader.GetLength());
|
||||
message->SetOffset(0);
|
||||
|
||||
@@ -56,7 +56,7 @@ Message *CoapBase::NewMeshCoPMessage(const Header &aHeader)
|
||||
{
|
||||
Message *message = NULL;
|
||||
|
||||
VerifyOrExit((message = NewMessage(aHeader)) != NULL, ;);
|
||||
VerifyOrExit((message = NewMessage(aHeader)) != NULL);
|
||||
|
||||
message->SetPriority(kMeshCoPMessagePriority);
|
||||
|
||||
|
||||
@@ -239,7 +239,7 @@ void Client::SendEmptyMessage(const Ip6::Address &aAddress, uint16_t aPort, uint
|
||||
header.Init(aType, kCoapCodeEmpty);
|
||||
header.SetMessageId(aMessageId);
|
||||
|
||||
VerifyOrExit((message = NewMessage(header)) != NULL, ;);
|
||||
VerifyOrExit((message = NewMessage(header)) != NULL);
|
||||
|
||||
messageInfo.SetPeerAddr(aAddress);
|
||||
messageInfo.SetPeerPort(aPort);
|
||||
|
||||
@@ -347,7 +347,7 @@ const Header::Option *Header::GetFirstOption(void)
|
||||
{
|
||||
const Option *rval = NULL;
|
||||
|
||||
VerifyOrExit(mFirstOptionOffset > 0,);
|
||||
VerifyOrExit(mFirstOptionOffset > 0);
|
||||
|
||||
memset(&mOption, 0, sizeof(mOption));
|
||||
mNextOptionOffset = mFirstOptionOffset;
|
||||
@@ -364,7 +364,7 @@ const Header::Option *Header::GetNextOption(void)
|
||||
uint16_t optionDelta;
|
||||
uint16_t optionLength;
|
||||
|
||||
VerifyOrExit(mNextOptionOffset < mHeaderLength, ;);
|
||||
VerifyOrExit(mNextOptionOffset < mHeaderLength);
|
||||
|
||||
optionDelta = mHeader.mBytes[mNextOptionOffset] >> 4;
|
||||
optionLength = mHeader.mBytes[mNextOptionOffset] & 0xf;
|
||||
|
||||
@@ -108,7 +108,7 @@ Message *Server::NewMeshCoPMessage(uint16_t aReserved)
|
||||
{
|
||||
Message *message = NULL;
|
||||
|
||||
VerifyOrExit((message = NewMessage(aReserved)) != NULL, ;);
|
||||
VerifyOrExit((message = NewMessage(aReserved)) != NULL);
|
||||
|
||||
message->SetPriority(kMeshCoPMessagePriority);
|
||||
|
||||
@@ -185,7 +185,7 @@ void Server::ProcessReceivedMessage(Message &aMessage, const Ip6::MessageInfo &a
|
||||
*curUriPath++ = '/';
|
||||
}
|
||||
|
||||
VerifyOrExit(coapOption->mLength < sizeof(uriPath) - static_cast<size_t>(curUriPath + 1 - uriPath), ;);
|
||||
VerifyOrExit(coapOption->mLength < sizeof(uriPath) - static_cast<size_t>(curUriPath + 1 - uriPath));
|
||||
|
||||
memcpy(curUriPath, coapOption->mValue, coapOption->mLength);
|
||||
curUriPath += coapOption->mLength;
|
||||
@@ -298,7 +298,7 @@ void ResponsesQueue::EnqueueResponse(Message &aMessage, const Ip6::MessageInfo &
|
||||
|
||||
SuccessOrExit(header.FromMessage(aMessage, 0));
|
||||
VerifyOrExit(header.GetType() == kCoapTypeAcknowledgment ||
|
||||
header.GetType() == kCoapTypeReset,);
|
||||
header.GetType() == kCoapTypeReset);
|
||||
|
||||
switch (GetMatchedResponseCopy(aMessage, aMessageInfo, ©))
|
||||
{
|
||||
@@ -323,7 +323,7 @@ void ResponsesQueue::EnqueueResponse(Message &aMessage, const Ip6::MessageInfo &
|
||||
}
|
||||
|
||||
copy = aMessage.Clone();
|
||||
VerifyOrExit(copy != NULL,);
|
||||
VerifyOrExit(copy != NULL);
|
||||
|
||||
enqueuedResponseHeader.AppendTo(*copy);
|
||||
mQueue.Enqueue(*copy);
|
||||
@@ -341,7 +341,7 @@ void ResponsesQueue::DequeueOldestResponse(void)
|
||||
{
|
||||
Message *message;
|
||||
|
||||
VerifyOrExit((message = mQueue.GetHead()) != NULL,);
|
||||
VerifyOrExit((message = mQueue.GetHead()) != NULL);
|
||||
DequeueResponse(*message);
|
||||
|
||||
exit:
|
||||
|
||||
@@ -133,7 +133,7 @@ void SecureClient::Receive(Message &aMessage, const Ip6::MessageInfo &aMessageIn
|
||||
otLogFuncEntry();
|
||||
|
||||
VerifyOrExit((mPeerAddress.GetPeerAddr() == aMessageInfo.GetPeerAddr()) &&
|
||||
(mPeerAddress.GetPeerPort() == aMessageInfo.GetPeerPort()), ;);
|
||||
(mPeerAddress.GetPeerPort() == aMessageInfo.GetPeerPort()));
|
||||
|
||||
mNetif.GetDtls().Receive(aMessage, aMessage.GetOffset(), aMessage.GetLength() - aMessage.GetOffset());
|
||||
|
||||
@@ -165,7 +165,7 @@ void SecureClient::HandleDtlsReceive(uint8_t *aBuf, uint16_t aLength)
|
||||
|
||||
otLogFuncEntry();
|
||||
|
||||
VerifyOrExit((message = mNetif.GetIp6().mMessagePool.New(Message::kTypeIp6, 0)) != NULL, ;);
|
||||
VerifyOrExit((message = mNetif.GetIp6().mMessagePool.New(Message::kTypeIp6, 0)) != NULL);
|
||||
SuccessOrExit(message->Append(aBuf, aLength));
|
||||
|
||||
ProcessReceivedMessage(*message, mPeerAddress);
|
||||
|
||||
@@ -136,7 +136,7 @@ void SecureServer::Receive(Message &aMessage, const Ip6::MessageInfo &aMessageIn
|
||||
{
|
||||
// Once DTLS session is started, communicate only with a peer.
|
||||
VerifyOrExit((mPeerAddress.GetPeerAddr() == aMessageInfo.GetPeerAddr()) &&
|
||||
(mPeerAddress.GetPeerPort() == aMessageInfo.GetPeerPort()), ;);
|
||||
(mPeerAddress.GetPeerPort() == aMessageInfo.GetPeerPort()));
|
||||
}
|
||||
|
||||
mNetif.GetDtls().SetClientId(mPeerAddress.GetPeerAddr().mFields.m8,
|
||||
@@ -173,7 +173,7 @@ void SecureServer::HandleDtlsReceive(uint8_t *aBuf, uint16_t aLength)
|
||||
|
||||
otLogFuncEntry();
|
||||
|
||||
VerifyOrExit((message = mNetif.GetIp6().mMessagePool.New(Message::kTypeIp6, 0)) != NULL, ;);
|
||||
VerifyOrExit((message = mNetif.GetIp6().mMessagePool.New(Message::kTypeIp6, 0)) != NULL);
|
||||
SuccessOrExit(message->Append(aBuf, aLength));
|
||||
|
||||
ProcessReceivedMessage(*message, mPeerAddress);
|
||||
|
||||
@@ -44,41 +44,75 @@
|
||||
#define otDEFINE_ALIGNED_VAR(name, size, align_type) \
|
||||
align_type name[(((size) + (sizeof (align_type) - 1)) / sizeof (align_type))]
|
||||
|
||||
/* Check the input `ERR` against zero and go to `exit` label if it is non-zero. */
|
||||
#define SuccessOrExit(ERR) \
|
||||
do { \
|
||||
if ((ERR) != 0) { \
|
||||
goto exit; \
|
||||
} \
|
||||
} while (false)
|
||||
/**
|
||||
* This checks for the specified status, which is expected to
|
||||
* commonly be successful, and branches to the local label 'exit' if
|
||||
* the status is unsuccessful.
|
||||
*
|
||||
* @param[in] aStatus A scalar status to be evaluated against zero (0).
|
||||
*
|
||||
*/
|
||||
#define SuccessOrExit(aStatus) \
|
||||
do \
|
||||
{ \
|
||||
if ((aStatus) != 0) \
|
||||
{ \
|
||||
goto exit; \
|
||||
} \
|
||||
} while (false)
|
||||
|
||||
/* Verify that the `COND` is true, otherwise go to `exit` label. */
|
||||
#define VerifyOrExit(COND, ACTION) \
|
||||
do { \
|
||||
if (!(COND)) { \
|
||||
ACTION; \
|
||||
goto exit; \
|
||||
} \
|
||||
} while (false)
|
||||
/**
|
||||
* This checks for the specified condition, which is expected to
|
||||
* commonly be true, and both executes @a ... and branches to the
|
||||
* local label 'exit' if the condition is false.
|
||||
*
|
||||
* @param[in] aCondition A Boolean expression to be evaluated.
|
||||
* @param[in] ... An expression or block to execute when the
|
||||
* assertion fails.
|
||||
*
|
||||
*/
|
||||
#define VerifyOrExit(aCondition, ...) \
|
||||
do \
|
||||
{ \
|
||||
if (!(aCondition)) \
|
||||
{ \
|
||||
__VA_ARGS__; \
|
||||
goto exit; \
|
||||
} \
|
||||
} while (false)
|
||||
|
||||
/* Run the passed in statement(s) and go to `exit` label. */
|
||||
/**
|
||||
* This unconditionally executes @a ... and branches to the local
|
||||
* label 'exit'.
|
||||
*
|
||||
* @note The use of this interface implies neither success nor
|
||||
* failure for the overall exit status of the enclosing
|
||||
* function body.
|
||||
*
|
||||
* @param[in] ... An optional expression or block to execute
|
||||
* when the assertion fails.
|
||||
*
|
||||
*/
|
||||
#define ExitNow(...) \
|
||||
do { \
|
||||
__VA_ARGS__; \
|
||||
goto exit; \
|
||||
} while (false)
|
||||
do \
|
||||
{ \
|
||||
__VA_ARGS__; \
|
||||
goto exit; \
|
||||
} while (false)
|
||||
|
||||
/*
|
||||
* Run the `statement` and ignore the return value.
|
||||
*
|
||||
* This is primarily used to indicate the intention of developer that the return value of function/method can be
|
||||
* safely ignored.
|
||||
* This is primarily used to indicate the intention of developer that
|
||||
* the return value of function/method can be safely ignored.
|
||||
*
|
||||
* @param[in] aStatement The function/method to execute.
|
||||
*
|
||||
*/
|
||||
#define IgnoreReturnValue(statement) \
|
||||
do { \
|
||||
if (statement) {} \
|
||||
} while (false)
|
||||
|
||||
#define IgnoreReturnValue(aStatement) \
|
||||
do \
|
||||
{ \
|
||||
if (aStatement) {} \
|
||||
} while (false)
|
||||
|
||||
#endif // CODE_UTILS_HPP_
|
||||
|
||||
@@ -70,7 +70,7 @@ Message *MessagePool::New(uint8_t aType, uint16_t aReserved)
|
||||
{
|
||||
Message *message = NULL;
|
||||
|
||||
VerifyOrExit((message = static_cast<Message *>(NewBuffer())) != NULL, ;);
|
||||
VerifyOrExit((message = static_cast<Message *>(NewBuffer())) != NULL);
|
||||
|
||||
memset(message, 0, sizeof(*message));
|
||||
message->SetMessagePool(this);
|
||||
@@ -377,7 +377,7 @@ ThreadError Message::SetPriority(uint8_t aPriority)
|
||||
VerifyOrExit(aPriority < kNumPriorities, error = kThreadError_InvalidArgs);
|
||||
|
||||
VerifyOrExit(IsInAQueue(), mInfo.mPriority = aPriority);
|
||||
VerifyOrExit(mInfo.mPriority != aPriority, ;);
|
||||
VerifyOrExit(mInfo.mPriority != aPriority);
|
||||
|
||||
if (mInfo.mInPriorityQ)
|
||||
{
|
||||
|
||||
@@ -96,7 +96,7 @@ void TimerScheduler::Add(Timer &aTimer)
|
||||
|
||||
void TimerScheduler::Remove(Timer &aTimer)
|
||||
{
|
||||
VerifyOrExit(aTimer.mNext != &aTimer, ;);
|
||||
VerifyOrExit(aTimer.mNext != &aTimer);
|
||||
|
||||
if (mHead == &aTimer)
|
||||
{
|
||||
|
||||
@@ -347,7 +347,7 @@ void Mac::HandleEnergyScanSampleRssi(void)
|
||||
{
|
||||
int8_t rssi;
|
||||
|
||||
VerifyOrExit(mState == kStateEnergyScan, ;);
|
||||
VerifyOrExit(mState == kStateEnergyScan);
|
||||
|
||||
rssi = otPlatRadioGetRssi(GetInstance());
|
||||
|
||||
@@ -1280,7 +1280,7 @@ void Mac::ReceiveDoneTask(Frame *aFrame, ThreadError aError)
|
||||
|
||||
mCounters.mRxTotal++;
|
||||
|
||||
VerifyOrExit(error == kThreadError_None, ;);
|
||||
VerifyOrExit(error == kThreadError_None);
|
||||
VerifyOrExit(aFrame != NULL, error = kThreadError_NoFrameReceived);
|
||||
|
||||
aFrame->SetSecurityValid(false);
|
||||
|
||||
@@ -66,7 +66,7 @@ Blacklist::Entry *Blacklist::Add(const ExtAddress &address)
|
||||
{
|
||||
Entry *rval;
|
||||
|
||||
VerifyOrExit((rval = Find(address)) == NULL, ;);
|
||||
VerifyOrExit((rval = Find(address)) == NULL);
|
||||
|
||||
for (int i = 0; i < kMaxEntries; i++)
|
||||
{
|
||||
@@ -96,7 +96,7 @@ void Blacklist::Remove(const ExtAddress &address)
|
||||
{
|
||||
Entry *entry;
|
||||
|
||||
VerifyOrExit((entry = Find(address)) != NULL, ;);
|
||||
VerifyOrExit((entry = Find(address)) != NULL);
|
||||
memset(entry, 0, sizeof(*entry));
|
||||
|
||||
exit:
|
||||
|
||||
@@ -183,7 +183,7 @@ ThreadError Frame::ValidatePsdu(void)
|
||||
uint16_t fcf;
|
||||
uint8_t footerLength = kFcsSize;
|
||||
|
||||
VerifyOrExit((offset += kFcfSize + kDsnSize) <= GetPsduLength(),);
|
||||
VerifyOrExit((offset += kFcfSize + kDsnSize) <= GetPsduLength());
|
||||
fcf = static_cast<uint16_t>((GetPsdu()[1] << 8) | GetPsdu()[0]);
|
||||
|
||||
// Destinatinon PAN + Address
|
||||
@@ -288,7 +288,7 @@ ThreadError Frame::ValidatePsdu(void)
|
||||
offset += kCommandIdSize;
|
||||
}
|
||||
|
||||
VerifyOrExit((offset + footerLength) <= GetPsduLength(),);
|
||||
VerifyOrExit((offset + footerLength) <= GetPsduLength());
|
||||
|
||||
error = kThreadError_None;
|
||||
|
||||
@@ -880,7 +880,7 @@ uint8_t Frame::GetFooterLength(void)
|
||||
uint8_t footerLength = 0;
|
||||
uint8_t *cur;
|
||||
|
||||
VerifyOrExit((cur = FindSecurityHeader()) != NULL, ;);
|
||||
VerifyOrExit((cur = FindSecurityHeader()) != NULL);
|
||||
|
||||
switch (cur[0] & kSecLevelMask)
|
||||
{
|
||||
|
||||
@@ -68,7 +68,7 @@ Whitelist::Entry *Whitelist::Add(const ExtAddress &address)
|
||||
{
|
||||
Entry *rval;
|
||||
|
||||
VerifyOrExit((rval = Find(address)) == NULL, ;);
|
||||
VerifyOrExit((rval = Find(address)) == NULL);
|
||||
|
||||
for (int i = 0; i < kMaxEntries; i++)
|
||||
{
|
||||
@@ -99,7 +99,7 @@ void Whitelist::Remove(const ExtAddress &address)
|
||||
{
|
||||
Entry *entry;
|
||||
|
||||
VerifyOrExit((entry = Find(address)) != NULL, ;);
|
||||
VerifyOrExit((entry = Find(address)) != NULL);
|
||||
memset(entry, 0, sizeof(*entry));
|
||||
|
||||
exit:
|
||||
|
||||
@@ -456,7 +456,7 @@ void Commissioner::HandleMgmtCommissisonerGetResponse(Coap::Header *aHeader, Mes
|
||||
|
||||
otLogFuncEntry();
|
||||
|
||||
VerifyOrExit(aResult == kThreadError_None && aHeader->GetCode() == kCoapResponseChanged, ;);
|
||||
VerifyOrExit(aResult == kThreadError_None && aHeader->GetCode() == kCoapResponseChanged);
|
||||
otLogInfoMeshCoP(GetInstance(), "received MGMT_COMMISSIONER_GET response");
|
||||
|
||||
exit:
|
||||
@@ -558,7 +558,7 @@ void Commissioner::HandleMgmtCommissisonerSetResponse(Coap::Header *aHeader, Mes
|
||||
|
||||
otLogFuncEntry();
|
||||
|
||||
VerifyOrExit(aResult == kThreadError_None && aHeader->GetCode() == kCoapResponseChanged, ;);
|
||||
VerifyOrExit(aResult == kThreadError_None && aHeader->GetCode() == kCoapResponseChanged);
|
||||
otLogInfoMeshCoP(GetInstance(), "received MGMT_COMMISSIONER_SET response");
|
||||
|
||||
exit:
|
||||
@@ -634,12 +634,12 @@ void Commissioner::HandleLeaderPetitionResponse(Coap::Header *aHeader, Message *
|
||||
otLogInfoMeshCoP(GetInstance(), "received Leader Petition response");
|
||||
|
||||
SuccessOrExit(Tlv::GetTlv(*aMessage, Tlv::kState, sizeof(state), state));
|
||||
VerifyOrExit(state.IsValid(), ;);
|
||||
VerifyOrExit(state.IsValid());
|
||||
|
||||
VerifyOrExit(state.GetState() == StateTlv::kAccept, mState = kCommissionerStateDisabled);
|
||||
|
||||
SuccessOrExit(Tlv::GetTlv(*aMessage, Tlv::kCommissionerSessionId, sizeof(sessionId), sessionId));
|
||||
VerifyOrExit(sessionId.IsValid(), ;);
|
||||
VerifyOrExit(sessionId.IsValid());
|
||||
mSessionId = sessionId.GetCommissionerSessionId();
|
||||
|
||||
mState = kCommissionerStateActive;
|
||||
@@ -733,7 +733,7 @@ void Commissioner::HandleLeaderKeepAliveResponse(Coap::Header *aHeader, Message
|
||||
otLogInfoMeshCoP(GetInstance(), "received Leader Petition response");
|
||||
|
||||
SuccessOrExit(Tlv::GetTlv(*aMessage, Tlv::kState, sizeof(state), state));
|
||||
VerifyOrExit(state.IsValid(), ;);
|
||||
VerifyOrExit(state.IsValid());
|
||||
|
||||
VerifyOrExit(state.GetState() == StateTlv::kAccept, mState = kCommissionerStateDisabled);
|
||||
|
||||
@@ -765,7 +765,7 @@ void Commissioner::HandleRelayReceive(Coap::Header &aHeader, Message &aMessage,
|
||||
otLogFuncEntry();
|
||||
|
||||
VerifyOrExit(aHeader.GetType() == kCoapTypeNonConfirmable &&
|
||||
aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
SuccessOrExit(error = Tlv::GetTlv(aMessage, Tlv::kJoinerUdpPort, sizeof(joinerPort), joinerPort));
|
||||
VerifyOrExit(joinerPort.IsValid(), error = kThreadError_Parse);
|
||||
@@ -810,7 +810,7 @@ void Commissioner::HandleRelayReceive(Coap::Header &aHeader, Message &aMessage,
|
||||
enableJoiner = (memcmp(mJoinerIid, joinerIid.GetIid(), sizeof(mJoinerIid)) == 0);
|
||||
}
|
||||
|
||||
VerifyOrExit(enableJoiner, ;);
|
||||
VerifyOrExit(enableJoiner);
|
||||
|
||||
mJoinerPort = joinerPort.GetUdpPort();
|
||||
mJoinerRloc = joinerRloc.GetJoinerRouterLocator();
|
||||
@@ -843,7 +843,7 @@ void Commissioner::HandleDatasetChanged(Coap::Header &aHeader, Message &aMessage
|
||||
{
|
||||
otLogFuncEntry();
|
||||
VerifyOrExit(aHeader.GetType() == kCoapTypeConfirmable &&
|
||||
aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
otLogInfoMeshCoP(GetInstance(), "received dataset changed");
|
||||
(void)aMessage;
|
||||
@@ -885,7 +885,7 @@ void Commissioner::HandleJoinerFinalize(Coap::Header &aHeader, Message &aMessage
|
||||
|
||||
#if OPENTHREAD_ENABLE_CERT_LOG
|
||||
uint8_t buf[OPENTHREAD_CONFIG_MESSAGE_BUFFER_SIZE];
|
||||
VerifyOrExit(aMessage.GetLength() <= sizeof(buf), ;);
|
||||
VerifyOrExit(aMessage.GetLength() <= sizeof(buf));
|
||||
aMessage.Read(aHeader.GetLength(), aMessage.GetLength() - aHeader.GetLength(), buf);
|
||||
otDumpCertMeshCoP(GetInstance(), "[THCI] direction=recv | type=JOIN_FIN.req |", buf,
|
||||
aMessage.GetLength() - aHeader.GetLength());
|
||||
@@ -928,7 +928,7 @@ void Commissioner::SendJoinFinalizeResponse(const Coap::Header &aRequestHeader,
|
||||
|
||||
#if OPENTHREAD_ENABLE_CERT_LOG
|
||||
uint8_t buf[OPENTHREAD_CONFIG_MESSAGE_BUFFER_SIZE];
|
||||
VerifyOrExit(message->GetLength() <= sizeof(buf), ;);
|
||||
VerifyOrExit(message->GetLength() <= sizeof(buf));
|
||||
message->Read(responseHeader.GetLength(), message->GetLength() - responseHeader.GetLength(), buf);
|
||||
otDumpCertMeshCoP(GetInstance(), "[THCI] direction=send | type=JOIN_FIN.rsp |", buf,
|
||||
message->GetLength() - responseHeader.GetLength());
|
||||
|
||||
@@ -369,13 +369,13 @@ const Timestamp *Dataset::GetTimestamp(void) const
|
||||
if (mType == Tlv::kActiveTimestamp)
|
||||
{
|
||||
const ActiveTimestampTlv *tlv = static_cast<const ActiveTimestampTlv *>(Get(mType));
|
||||
VerifyOrExit(tlv != NULL, ;);
|
||||
VerifyOrExit(tlv != NULL);
|
||||
timestamp = static_cast<const Timestamp *>(tlv);
|
||||
}
|
||||
else
|
||||
{
|
||||
const PendingTimestampTlv *tlv = static_cast<const PendingTimestampTlv *>(Get(mType));
|
||||
VerifyOrExit(tlv != NULL, ;);
|
||||
VerifyOrExit(tlv != NULL);
|
||||
timestamp = static_cast<const Timestamp *>(tlv);
|
||||
}
|
||||
|
||||
@@ -494,7 +494,7 @@ void Dataset::Remove(Tlv::Type aType)
|
||||
{
|
||||
Tlv *tlv;
|
||||
|
||||
VerifyOrExit((tlv = Get(aType)) != NULL, ;);
|
||||
VerifyOrExit((tlv = Get(aType)) != NULL);
|
||||
Remove(reinterpret_cast<uint8_t *>(tlv), sizeof(Tlv) + tlv->GetLength());
|
||||
|
||||
exit:
|
||||
|
||||
@@ -254,9 +254,9 @@ void DatasetManager::HandleTimer(void)
|
||||
(mNetif.GetPendingDataset().GetNetwork().Get(Tlv::kActiveTimestamp));
|
||||
pendingActiveTimestamp = static_cast<const Timestamp *>(tlv);
|
||||
|
||||
VerifyOrExit(mNetif.GetMle().IsAttached(),);
|
||||
VerifyOrExit(mNetif.GetMle().IsAttached());
|
||||
|
||||
VerifyOrExit(mLocal.Compare(mNetwork) < 0,);
|
||||
VerifyOrExit(mLocal.Compare(mNetwork) < 0);
|
||||
|
||||
Register();
|
||||
|
||||
@@ -546,7 +546,7 @@ ThreadError DatasetManager::Set(Coap::Header &aHeader, Message &aMessage, const
|
||||
|
||||
borderAgentLocator = static_cast<BorderAgentLocatorTlv *>(mNetif.GetNetworkDataLeader().GetCommissioningDataSubTlv(
|
||||
Tlv::kBorderAgentLocator));
|
||||
VerifyOrExit(borderAgentLocator != NULL,);
|
||||
VerifyOrExit(borderAgentLocator != NULL);
|
||||
|
||||
memset(&destination, 0, sizeof(destination));
|
||||
destination = mNetif.GetMle().GetMeshLocal16();
|
||||
@@ -1073,7 +1073,7 @@ void PendingDatasetBase::UpdateDelayTimer(Dataset &aDataset, uint32_t &aStartTim
|
||||
uint32_t elapsed;
|
||||
uint32_t delay;
|
||||
|
||||
VerifyOrExit((delayTimer = static_cast<DelayTimerTlv *>(aDataset.Get(Tlv::kDelayTimer))) != NULL, ;);
|
||||
VerifyOrExit((delayTimer = static_cast<DelayTimerTlv *>(aDataset.Get(Tlv::kDelayTimer))) != NULL);
|
||||
|
||||
elapsed = now - aStartTime;
|
||||
|
||||
@@ -1122,7 +1122,7 @@ void PendingDatasetBase::ApplyActiveDataset(const Timestamp &aTimestamp, Message
|
||||
DelayTimerTlv delayTimer;
|
||||
uint8_t flags;
|
||||
|
||||
VerifyOrExit(mNetif.GetMle().IsAttached(), ;);
|
||||
VerifyOrExit(mNetif.GetMle().IsAttached());
|
||||
|
||||
while (offset < aMessage.GetLength())
|
||||
{
|
||||
|
||||
@@ -101,11 +101,11 @@ ThreadError Dtls::Start(bool aClient, ConnectedHandler aConnectedHandler, Receiv
|
||||
|
||||
// XXX: should set personalization data to hardware address
|
||||
rval = mbedtls_ctr_drbg_seed(&mCtrDrbg, mbedtls_entropy_func, &mEntropy, NULL, 0);
|
||||
VerifyOrExit(rval == 0, ;);
|
||||
VerifyOrExit(rval == 0);
|
||||
|
||||
rval = mbedtls_ssl_config_defaults(&mConf, mClient ? MBEDTLS_SSL_IS_CLIENT : MBEDTLS_SSL_IS_SERVER,
|
||||
MBEDTLS_SSL_TRANSPORT_DATAGRAM, MBEDTLS_SSL_PRESET_DEFAULT);
|
||||
VerifyOrExit(rval == 0, ;);
|
||||
VerifyOrExit(rval == 0);
|
||||
|
||||
mbedtls_ssl_conf_rng(&mConf, mbedtls_ctr_drbg_random, &mCtrDrbg);
|
||||
mbedtls_ssl_conf_min_version(&mConf, MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3);
|
||||
@@ -120,19 +120,19 @@ ThreadError Dtls::Start(bool aClient, ConnectedHandler aConnectedHandler, Receiv
|
||||
mbedtls_ssl_cookie_init(&mCookieCtx);
|
||||
|
||||
rval = mbedtls_ssl_cookie_setup(&mCookieCtx, mbedtls_ctr_drbg_random, &mCtrDrbg);
|
||||
VerifyOrExit(rval == 0, ;);
|
||||
VerifyOrExit(rval == 0);
|
||||
|
||||
mbedtls_ssl_conf_dtls_cookies(&mConf, mbedtls_ssl_cookie_write, mbedtls_ssl_cookie_check, &mCookieCtx);
|
||||
}
|
||||
|
||||
rval = mbedtls_ssl_setup(&mSsl, &mConf);
|
||||
VerifyOrExit(rval == 0, ;);
|
||||
VerifyOrExit(rval == 0);
|
||||
|
||||
mbedtls_ssl_set_bio(&mSsl, this, &Dtls::HandleMbedtlsTransmit, HandleMbedtlsReceive, NULL);
|
||||
mbedtls_ssl_set_timer_cb(&mSsl, this, &Dtls::HandleMbedtlsSetTimer, HandleMbedtlsGetTimer);
|
||||
|
||||
rval = mbedtls_ssl_set_hs_ecjpake_password(&mSsl, mPsk, mPskLength);
|
||||
VerifyOrExit(rval == 0, ;);
|
||||
VerifyOrExit(rval == 0);
|
||||
|
||||
mStarted = true;
|
||||
Process();
|
||||
@@ -152,7 +152,7 @@ ThreadError Dtls::Stop(void)
|
||||
|
||||
void Dtls::Close(void)
|
||||
{
|
||||
VerifyOrExit(mStarted,);
|
||||
VerifyOrExit(mStarted);
|
||||
|
||||
mStarted = false;
|
||||
mbedtls_ssl_free(&mSsl);
|
||||
|
||||
@@ -147,15 +147,15 @@ void EnergyScanClient::HandleReport(Coap::Header &aHeader, Message &aMessage, co
|
||||
} OT_TOOL_PACKED_END energyList;
|
||||
|
||||
VerifyOrExit(aHeader.GetType() == kCoapTypeConfirmable &&
|
||||
aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
otLogInfoMeshCoP(GetInstance(), "received energy scan report");
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kChannelMask, sizeof(channelMask), channelMask));
|
||||
VerifyOrExit(channelMask.IsValid(),);
|
||||
VerifyOrExit(channelMask.IsValid());
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kEnergyList, sizeof(energyList), energyList.tlv));
|
||||
VerifyOrExit(energyList.tlv.IsValid(), ;);
|
||||
VerifyOrExit(energyList.tlv.IsValid());
|
||||
|
||||
if (mCallback != NULL)
|
||||
{
|
||||
|
||||
@@ -314,7 +314,7 @@ void Joiner::SendJoinerFinalize(void)
|
||||
|
||||
#if OPENTHREAD_ENABLE_CERT_LOG
|
||||
uint8_t buf[OPENTHREAD_CONFIG_MESSAGE_BUFFER_SIZE];
|
||||
VerifyOrExit(message->GetLength() <= sizeof(buf), ;);
|
||||
VerifyOrExit(message->GetLength() <= sizeof(buf));
|
||||
message->Read(header.GetLength(), message->GetLength() - header.GetLength(), buf);
|
||||
otDumpCertMeshCoP(GetInstance(), "[THCI] direction=send | type=JOIN_FIN.req |", buf,
|
||||
message->GetLength() - header.GetLength());
|
||||
@@ -353,10 +353,10 @@ void Joiner::HandleJoinerFinalizeResponse(Coap::Header *aHeader, Message *aMessa
|
||||
VerifyOrExit(mState == kStateConnected &&
|
||||
aResult == kThreadError_None &&
|
||||
aHeader->GetType() == kCoapTypeAcknowledgment &&
|
||||
aHeader->GetCode() == kCoapResponseChanged, ;);
|
||||
aHeader->GetCode() == kCoapResponseChanged);
|
||||
|
||||
SuccessOrExit(Tlv::GetTlv(*aMessage, Tlv::kState, sizeof(state), state));
|
||||
VerifyOrExit(state.IsValid(), ;);
|
||||
VerifyOrExit(state.IsValid());
|
||||
|
||||
mState = kStateEntrust;
|
||||
mTimer.Start(kTimeout);
|
||||
@@ -364,7 +364,7 @@ void Joiner::HandleJoinerFinalizeResponse(Coap::Header *aHeader, Message *aMessa
|
||||
otLogInfoMeshCoP(GetInstance(), "received joiner finalize response %d", static_cast<uint8_t>(state.GetState()));
|
||||
#if OPENTHREAD_ENABLE_CERT_LOG
|
||||
uint8_t buf[OPENTHREAD_CONFIG_MESSAGE_BUFFER_SIZE];
|
||||
VerifyOrExit(aMessage->GetLength() <= sizeof(buf), ;);
|
||||
VerifyOrExit(aMessage->GetLength() <= sizeof(buf));
|
||||
aMessage->Read(aHeader->GetLength(), aMessage->GetLength() - aHeader->GetLength(), buf);
|
||||
otDumpCertMeshCoP(GetInstance(), "[THCI] direction=recv | type=JOIN_FIN.rsp |", buf,
|
||||
aMessage->GetLength() - aHeader->GetLength());
|
||||
|
||||
@@ -83,8 +83,8 @@ void JoinerRouter::HandleNetifStateChanged(uint32_t aFlags, void *aContext)
|
||||
|
||||
void JoinerRouter::HandleNetifStateChanged(uint32_t aFlags)
|
||||
{
|
||||
VerifyOrExit(mNetif.GetMle().GetDeviceMode() & Mle::ModeTlv::kModeFFD, ;);
|
||||
VerifyOrExit(aFlags & OT_THREAD_NETDATA_UPDATED, ;);
|
||||
VerifyOrExit(mNetif.GetMle().GetDeviceMode() & Mle::ModeTlv::kModeFFD);
|
||||
VerifyOrExit(aFlags & OT_THREAD_NETDATA_UPDATED);
|
||||
|
||||
mNetif.GetIp6Filter().RemoveUnsecurePort(mSocket.GetSockName().mPort);
|
||||
|
||||
@@ -132,7 +132,7 @@ uint16_t JoinerRouter::GetJoinerUdpPort(void)
|
||||
|
||||
joinerUdpPort = static_cast<JoinerUdpPortTlv *>(mNetif.GetNetworkDataLeader().GetCommissioningDataSubTlv(
|
||||
Tlv::kJoinerUdpPort));
|
||||
VerifyOrExit(joinerUdpPort != NULL,);
|
||||
VerifyOrExit(joinerUdpPort != NULL);
|
||||
|
||||
rval = joinerUdpPort->GetUdpPort();
|
||||
|
||||
@@ -443,14 +443,14 @@ void JoinerRouter::SendDelayedJoinerEntrust(void)
|
||||
uint32_t now = Timer::GetNow();
|
||||
Ip6::MessageInfo messageInfo;
|
||||
|
||||
VerifyOrExit(message != NULL,);
|
||||
VerifyOrExit(!mTimer.IsRunning(),);
|
||||
VerifyOrExit(message != NULL);
|
||||
VerifyOrExit(!mTimer.IsRunning());
|
||||
|
||||
delayedJoinEnt.ReadFrom(*message);
|
||||
|
||||
// The message can be sent during CoAP transaction if KEK did not change (i.e. retransmission).
|
||||
VerifyOrExit(!mExpectJoinEntRsp ||
|
||||
memcmp(mNetif.GetKeyManager().GetKek(), delayedJoinEnt.GetKek(), KeyManager::kMaxKeyLength) == 0,);
|
||||
memcmp(mNetif.GetKeyManager().GetKek(), delayedJoinEnt.GetKek(), KeyManager::kMaxKeyLength) == 0);
|
||||
|
||||
|
||||
if (delayedJoinEnt.IsLater(now))
|
||||
@@ -517,9 +517,9 @@ void JoinerRouter::HandleJoinerEntrustResponse(Coap::Header *aHeader, Message *a
|
||||
mExpectJoinEntRsp = false;
|
||||
SendDelayedJoinerEntrust();
|
||||
|
||||
VerifyOrExit(aResult == kThreadError_None && aHeader != NULL && aMessage != NULL, ;);
|
||||
VerifyOrExit(aResult == kThreadError_None && aHeader != NULL && aMessage != NULL);
|
||||
|
||||
VerifyOrExit(aHeader->GetCode() == kCoapResponseChanged, ;);
|
||||
VerifyOrExit(aHeader->GetCode() == kCoapResponseChanged);
|
||||
|
||||
otLogInfoMeshCoP(GetInstance(), "Receive joiner entrust response");
|
||||
otLogCertMeshCoP(GetInstance(), "[THCI] direction=recv | type=JOIN_ENT.rsp");
|
||||
|
||||
@@ -83,9 +83,9 @@ void Leader::HandlePetition(Coap::Header &aHeader, Message &aMessage, const Ip6:
|
||||
otLogInfoMeshCoP(GetInstance(), "received petition");
|
||||
|
||||
SuccessOrExit(Tlv::GetTlv(aMessage, Tlv::kCommissionerId, sizeof(commissionerId), commissionerId));
|
||||
VerifyOrExit(commissionerId.IsValid(), ;);
|
||||
VerifyOrExit(commissionerId.IsValid());
|
||||
|
||||
VerifyOrExit(!mTimer.IsRunning(), ;);
|
||||
VerifyOrExit(!mTimer.IsRunning());
|
||||
|
||||
data.mBorderAgentLocator.Init();
|
||||
data.mBorderAgentLocator.SetBorderAgentLocator(HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[7]));
|
||||
@@ -173,10 +173,10 @@ void Leader::HandleKeepAlive(Coap::Header &aHeader, Message &aMessage, const Ip6
|
||||
otLogInfoMeshCoP(GetInstance(), "received keep alive");
|
||||
|
||||
SuccessOrExit(Tlv::GetTlv(aMessage, Tlv::kState, sizeof(state), state));
|
||||
VerifyOrExit(state.IsValid(),);
|
||||
VerifyOrExit(state.IsValid());
|
||||
|
||||
SuccessOrExit(Tlv::GetTlv(aMessage, Tlv::kCommissionerSessionId, sizeof(sessionId), sessionId));
|
||||
VerifyOrExit(sessionId.IsValid(),);
|
||||
VerifyOrExit(sessionId.IsValid());
|
||||
|
||||
if (sessionId.GetCommissionerSessionId() != mSessionId)
|
||||
{
|
||||
@@ -285,7 +285,7 @@ void Leader::HandleTimer(void *aContext)
|
||||
|
||||
void Leader::HandleTimer(void)
|
||||
{
|
||||
VerifyOrExit(mNetif.GetMle().GetDeviceState() == Mle::kDeviceStateLeader, ;);
|
||||
VerifyOrExit(mNetif.GetMle().GetDeviceState() == Mle::kDeviceStateLeader);
|
||||
|
||||
ResignCommissioner();
|
||||
|
||||
|
||||
@@ -126,15 +126,15 @@ void PanIdQueryClient::HandleConflict(Coap::Header &aHeader, Message &aMessage,
|
||||
Ip6::MessageInfo responseInfo(aMessageInfo);
|
||||
|
||||
VerifyOrExit(aHeader.GetType() == kCoapTypeConfirmable &&
|
||||
aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
otLogInfoMeshCoP(GetInstance(), "received panid conflict");
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kPanId, sizeof(panId), panId));
|
||||
VerifyOrExit(panId.IsValid(), ;);
|
||||
VerifyOrExit(panId.IsValid());
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kChannelMask, sizeof(channelMask), channelMask));
|
||||
VerifyOrExit(channelMask.IsValid(),);
|
||||
VerifyOrExit(channelMask.IsValid());
|
||||
|
||||
if (mCallback != NULL)
|
||||
{
|
||||
|
||||
@@ -194,7 +194,7 @@ void Dhcp6Client::AddIdentityAssociation(uint16_t aRloc16, otIp6Prefix &aIp6Pref
|
||||
IdentityAssociation *identityAssociation = NULL;
|
||||
IdentityAssociation *identityAssociationCursor = NULL;
|
||||
|
||||
VerifyOrExit(mIdentityAssociationAvail, ;);
|
||||
VerifyOrExit(mIdentityAssociationAvail);
|
||||
|
||||
identityAssociation = mIdentityAssociationAvail;
|
||||
mIdentityAssociationAvail = mIdentityAssociationAvail->GetNext();
|
||||
@@ -227,7 +227,7 @@ void Dhcp6Client::RemoveIdentityAssociation(uint16_t aRloc16, otIp6Prefix &aIp6P
|
||||
IdentityAssociation *prevIdentityAssociation = NULL;
|
||||
IdentityAssociation *identityAssociation = NULL;
|
||||
|
||||
VerifyOrExit(mIdentityAssociationHead, ;);
|
||||
VerifyOrExit(mIdentityAssociationHead);
|
||||
|
||||
for (identityAssociation = mIdentityAssociationHead; identityAssociation;
|
||||
prevIdentityAssociation = identityAssociation, identityAssociation = identityAssociation->GetNext())
|
||||
@@ -288,9 +288,9 @@ bool Dhcp6Client::ProcessNextIdentityAssociation()
|
||||
IdentityAssociation *prevIdentityAssociation = NULL;
|
||||
IdentityAssociation *identityAssociation = NULL;
|
||||
|
||||
VerifyOrExit(mIdentityAssociationHead, ;);
|
||||
VerifyOrExit(mIdentityAssociationHead);
|
||||
// not interrupt in-progress solicit
|
||||
VerifyOrExit((mIdentityAssociationHead->GetStatus() != IdentityAssociation::kStatusSoliciting), ;);
|
||||
VerifyOrExit((mIdentityAssociationHead->GetStatus() != IdentityAssociation::kStatusSoliciting));
|
||||
|
||||
mTrickleTimer.Stop();
|
||||
|
||||
@@ -525,7 +525,7 @@ void Dhcp6Client::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aM
|
||||
Dhcp6Header header;
|
||||
(void)aMessageInfo;
|
||||
|
||||
VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(header), &header) == sizeof(header),);
|
||||
VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(header), &header) == sizeof(header));
|
||||
aMessage.MoveOffset(sizeof(header));
|
||||
|
||||
if ((header.GetType() == kTypeReply) && (!memcmp(header.GetTransactionId(), mTransactionId, kTransactionIdSize)))
|
||||
@@ -544,18 +544,18 @@ void Dhcp6Client::ProcessReply(Message &aMessage)
|
||||
uint16_t optionOffset;
|
||||
|
||||
// Server Identifier
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, offset, length, kOptionServerIdentifier)) > 0, ;);
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, offset, length, kOptionServerIdentifier)) > 0);
|
||||
SuccessOrExit(ProcessServerIdentifier(aMessage, optionOffset));
|
||||
|
||||
// Client Identifier
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, offset, length, kOptionClientIdentifier)) > 0, ;);
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, offset, length, kOptionClientIdentifier)) > 0);
|
||||
SuccessOrExit(ProcessClientIdentifier(aMessage, optionOffset));
|
||||
|
||||
// Rapid Commit
|
||||
VerifyOrExit(FindOption(aMessage, offset, length, kOptionRapidCommit) > 0, ;);
|
||||
VerifyOrExit(FindOption(aMessage, offset, length, kOptionRapidCommit) > 0);
|
||||
|
||||
// IA_NA
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, offset, length, kOptionIaNa)) > 0, ;);
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, offset, length, kOptionIaNa)) > 0);
|
||||
SuccessOrExit(ProcessIaNa(aMessage, optionOffset));
|
||||
|
||||
HandleTrickleTimer();
|
||||
@@ -571,7 +571,7 @@ uint16_t Dhcp6Client::FindOption(Message &aMessage, uint16_t aOffset, uint16_t a
|
||||
while (aOffset <= end)
|
||||
{
|
||||
Dhcp6Option option;
|
||||
VerifyOrExit(aMessage.Read(aOffset, sizeof(option), &option) == sizeof(option),);
|
||||
VerifyOrExit(aMessage.Read(aOffset, sizeof(option), &option) == sizeof(option));
|
||||
|
||||
if (option.GetCode() == (aCode))
|
||||
{
|
||||
|
||||
@@ -258,11 +258,11 @@ void Dhcp6Server::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aM
|
||||
Dhcp6Header header;
|
||||
otIp6Address dst = aMessageInfo.mPeerAddr;
|
||||
|
||||
VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(header), &header) == sizeof(header),);
|
||||
VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(header), &header) == sizeof(header));
|
||||
aMessage.MoveOffset(sizeof(header));
|
||||
|
||||
// discard if not solicit type
|
||||
VerifyOrExit((header.GetType() == kTypeSolicit), ;);
|
||||
VerifyOrExit((header.GetType() == kTypeSolicit));
|
||||
|
||||
ProcessSolicit(aMessage, dst, header.GetTransactionId());
|
||||
|
||||
@@ -279,14 +279,14 @@ void Dhcp6Server::ProcessSolicit(Message &aMessage, otIp6Address &aDst, uint8_t
|
||||
uint16_t length = aMessage.GetLength() - aMessage.GetOffset();
|
||||
|
||||
// Client Identifier (discard if not present)
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, offset, length, kOptionClientIdentifier)) > 0, ;);
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, offset, length, kOptionClientIdentifier)) > 0);
|
||||
SuccessOrExit(ProcessClientIdentifier(aMessage, optionOffset, clientIdentifier));
|
||||
|
||||
// Server Identifier (assuming Rapid Commit, discard if present)
|
||||
VerifyOrExit(FindOption(aMessage, offset, length, kOptionServerIdentifier) == 0, ;);
|
||||
VerifyOrExit(FindOption(aMessage, offset, length, kOptionServerIdentifier) == 0);
|
||||
|
||||
// Rapid Commit (assuming Rapid Commit, discard if not present)
|
||||
VerifyOrExit(FindOption(aMessage, offset, length, kOptionRapidCommit) > 0, ;);
|
||||
VerifyOrExit(FindOption(aMessage, offset, length, kOptionRapidCommit) > 0);
|
||||
|
||||
// Elapsed Time if present
|
||||
if ((optionOffset = FindOption(aMessage, offset, length, kOptionElapsedTime)) > 0)
|
||||
@@ -295,7 +295,7 @@ void Dhcp6Server::ProcessSolicit(Message &aMessage, otIp6Address &aDst, uint8_t
|
||||
}
|
||||
|
||||
// IA_NA (discard if not present)
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, offset, length, kOptionIaNa)) > 0, ;);
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, offset, length, kOptionIaNa)) > 0);
|
||||
SuccessOrExit(ProcessIaNa(aMessage, optionOffset, iana));
|
||||
|
||||
SuccessOrExit(SendReply(aDst, aTransactionId, clientIdentifier, iana));
|
||||
@@ -311,7 +311,7 @@ uint16_t Dhcp6Server::FindOption(Message &aMessage, uint16_t aOffset, uint16_t a
|
||||
while (aOffset <= end)
|
||||
{
|
||||
Dhcp6Option option;
|
||||
VerifyOrExit(aMessage.Read(aOffset, sizeof(option), &option) == sizeof(option),);
|
||||
VerifyOrExit(aMessage.Read(aOffset, sizeof(option), &option) == sizeof(option));
|
||||
|
||||
if (option.GetCode() == aCode)
|
||||
{
|
||||
@@ -366,7 +366,7 @@ ThreadError Dhcp6Server::ProcessIaNa(Message &aMessage, uint16_t aOffset, IaNa &
|
||||
|
||||
while (length > 0)
|
||||
{
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, aOffset, length, kOptionIaAddress)) > 0, ;);
|
||||
VerifyOrExit((optionOffset = FindOption(aMessage, aOffset, length, kOptionIaAddress)) > 0);
|
||||
SuccessOrExit(error = ProcessIaAddress(aMessage, optionOffset));
|
||||
|
||||
length -= ((optionOffset - aOffset) + sizeof(IaAddress));
|
||||
|
||||
@@ -138,7 +138,7 @@ Message *Client::NewMessage(const Header &aHeader)
|
||||
{
|
||||
Message *message = NULL;
|
||||
|
||||
VerifyOrExit((message = mSocket.NewMessage(sizeof(aHeader))) != NULL, ;);
|
||||
VerifyOrExit((message = mSocket.NewMessage(sizeof(aHeader))) != NULL);
|
||||
message->Prepend(&aHeader, sizeof(aHeader));
|
||||
message->SetOffset(0);
|
||||
|
||||
@@ -458,15 +458,15 @@ void Client::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessag
|
||||
(void)aMessageInfo;
|
||||
|
||||
VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(responseHeader), &responseHeader) ==
|
||||
sizeof(responseHeader), ;);
|
||||
sizeof(responseHeader));
|
||||
VerifyOrExit(responseHeader.GetType() == Header::kTypeResponse &&
|
||||
responseHeader.GetQuestionCount() == 1 &&
|
||||
responseHeader.IsTruncationFlagSet() == false, ;);
|
||||
responseHeader.IsTruncationFlagSet() == false);
|
||||
|
||||
aMessage.MoveOffset(sizeof(responseHeader));
|
||||
offset = aMessage.GetOffset();
|
||||
|
||||
VerifyOrExit((message = FindRelatedQuery(responseHeader, queryMetadata)) != NULL,);
|
||||
VerifyOrExit((message = FindRelatedQuery(responseHeader, queryMetadata)) != NULL);
|
||||
|
||||
if (responseHeader.GetResponseCode() != Header::kResponseSuccess)
|
||||
{
|
||||
|
||||
@@ -149,14 +149,14 @@ ThreadError Icmp::HandleMessage(Message &aMessage, MessageInfo &aMessageInfo)
|
||||
IcmpHeader icmp6Header;
|
||||
uint16_t checksum;
|
||||
|
||||
VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(icmp6Header), &icmp6Header) == sizeof(icmp6Header),);
|
||||
VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(icmp6Header), &icmp6Header) == sizeof(icmp6Header));
|
||||
payloadLength = aMessage.GetLength() - aMessage.GetOffset();
|
||||
|
||||
// verify checksum
|
||||
checksum = Ip6::ComputePseudoheaderChecksum(aMessageInfo.GetPeerAddr(), aMessageInfo.GetSockAddr(),
|
||||
payloadLength, kProtoIcmp6);
|
||||
checksum = aMessage.UpdateChecksum(checksum, aMessage.GetOffset(), payloadLength);
|
||||
VerifyOrExit(checksum == 0xffff, ;);
|
||||
VerifyOrExit(checksum == 0xffff);
|
||||
|
||||
if (mIsEchoEnabled && (icmp6Header.GetType() == kIcmp6TypeEchoRequest))
|
||||
{
|
||||
|
||||
@@ -171,7 +171,7 @@ ThreadError Ip6::InsertMplOption(Message &aMessage, Header &aIp6Header, MessageI
|
||||
ThreadError error = kThreadError_None;
|
||||
|
||||
VerifyOrExit(aIp6Header.GetDestination().IsMulticast() &&
|
||||
aIp6Header.GetDestination().GetScope() >= Address::kRealmLocalScope, ;);
|
||||
aIp6Header.GetDestination().GetScope() >= Address::kRealmLocalScope);
|
||||
|
||||
if (aIp6Header.GetDestination().IsRealmLocalMulticast())
|
||||
{
|
||||
@@ -240,11 +240,11 @@ ThreadError Ip6::RemoveMplOption(Message &aMessage)
|
||||
offset = 0;
|
||||
aMessage.Read(offset, sizeof(ip6Header), &ip6Header);
|
||||
offset += sizeof(ip6Header);
|
||||
VerifyOrExit(ip6Header.GetNextHeader() == kProtoHopOpts,);
|
||||
VerifyOrExit(ip6Header.GetNextHeader() == kProtoHopOpts);
|
||||
|
||||
aMessage.Read(offset, sizeof(hbh), &hbh);
|
||||
endOffset = offset + (hbh.GetLength() + 1) * 8;
|
||||
VerifyOrExit(aMessage.GetLength() >= endOffset,);
|
||||
VerifyOrExit(aMessage.GetLength() >= endOffset);
|
||||
|
||||
offset += sizeof(hbh);
|
||||
|
||||
@@ -291,7 +291,7 @@ ThreadError Ip6::RemoveMplOption(Message &aMessage)
|
||||
}
|
||||
|
||||
// verify that IPv6 Options header is properly formed
|
||||
VerifyOrExit(offset == endOffset,);
|
||||
VerifyOrExit(offset == endOffset);
|
||||
|
||||
if (remove)
|
||||
{
|
||||
|
||||
@@ -63,16 +63,16 @@ bool Filter::Accept(Message &aMessage) const
|
||||
}
|
||||
|
||||
// Read IPv6 header
|
||||
VerifyOrExit(sizeof(ip6) == aMessage.Read(0, sizeof(ip6), &ip6), ;);
|
||||
VerifyOrExit(sizeof(ip6) == aMessage.Read(0, sizeof(ip6), &ip6));
|
||||
|
||||
// Allow only link-local unicast or multicast
|
||||
VerifyOrExit(ip6.GetDestination().IsLinkLocal() || ip6.GetDestination().IsLinkLocalMulticast(), ;);
|
||||
VerifyOrExit(ip6.GetDestination().IsLinkLocal() || ip6.GetDestination().IsLinkLocalMulticast());
|
||||
|
||||
switch (ip6.GetNextHeader())
|
||||
{
|
||||
case kProtoUdp:
|
||||
// Read the UDP header and get the dst port
|
||||
VerifyOrExit(sizeof(udp) == aMessage.Read(sizeof(ip6), sizeof(udp), &udp), ;);
|
||||
VerifyOrExit(sizeof(udp) == aMessage.Read(sizeof(ip6), sizeof(udp), &udp));
|
||||
|
||||
dstport = udp.GetDestinationPort();
|
||||
|
||||
@@ -86,7 +86,7 @@ bool Filter::Accept(Message &aMessage) const
|
||||
|
||||
case kProtoTcp:
|
||||
// Read the TCP header and get the dst port
|
||||
VerifyOrExit(sizeof(tcp) == aMessage.Read(sizeof(ip6), sizeof(tcp), &tcp), ;);
|
||||
VerifyOrExit(sizeof(tcp) == aMessage.Read(sizeof(ip6), sizeof(tcp), &tcp));
|
||||
|
||||
dstport = tcp.GetDestinationPort();
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ void Mpl::UpdateBufferedSet(uint16_t aSeedId, uint8_t aSequence)
|
||||
Message *nextMessage = NULL;
|
||||
|
||||
// Check if multicast forwarding is enabled.
|
||||
VerifyOrExit(GetTimerExpirations() > 0, ;);
|
||||
VerifyOrExit(GetTimerExpirations() > 0);
|
||||
|
||||
while (message != NULL)
|
||||
{
|
||||
@@ -167,7 +167,7 @@ void Mpl::AddBufferedMessage(Message &aMessage, uint16_t aSeedId, uint8_t aSeque
|
||||
uint32_t nextTransmissionTime;
|
||||
uint8_t hopLimit = 0;
|
||||
|
||||
VerifyOrExit(GetTimerExpirations() > 0,);
|
||||
VerifyOrExit(GetTimerExpirations() > 0);
|
||||
VerifyOrExit((messageCopy = aMessage.Clone()) != NULL, error = kThreadError_NoBufs);
|
||||
|
||||
if (!aIsOutbound)
|
||||
|
||||
@@ -207,9 +207,9 @@ ThreadError Udp::HandleMessage(Message &aMessage, MessageInfo &aMessageInfo)
|
||||
checksum = Ip6::ComputePseudoheaderChecksum(aMessageInfo.GetPeerAddr(), aMessageInfo.GetSockAddr(),
|
||||
payloadLength, kProtoUdp);
|
||||
checksum = aMessage.UpdateChecksum(checksum, aMessage.GetOffset(), payloadLength);
|
||||
VerifyOrExit(checksum == 0xffff, ;);
|
||||
VerifyOrExit(checksum == 0xffff);
|
||||
|
||||
VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(udpHeader), &udpHeader) == sizeof(udpHeader),);
|
||||
VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(udpHeader), &udpHeader) == sizeof(udpHeader));
|
||||
aMessage.MoveOffset(sizeof(udpHeader));
|
||||
aMessageInfo.mPeerPort = udpHeader.GetSourcePort();
|
||||
aMessageInfo.mSockPort = udpHeader.GetDestinationPort();
|
||||
|
||||
@@ -287,26 +287,26 @@ void AddressResolver::HandleAddressNotification(Coap::Header &aHeader, Message &
|
||||
uint32_t lastTransactionTime;
|
||||
|
||||
VerifyOrExit(aHeader.GetType() == kCoapTypeConfirmable &&
|
||||
aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
otLogInfoArp(GetInstance(), "Received address notification from %04x",
|
||||
HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[7]));
|
||||
|
||||
SuccessOrExit(ThreadTlv::GetTlv(aMessage, ThreadTlv::kTarget, sizeof(targetTlv), targetTlv));
|
||||
VerifyOrExit(targetTlv.IsValid(), ;);
|
||||
VerifyOrExit(targetTlv.IsValid());
|
||||
|
||||
SuccessOrExit(ThreadTlv::GetTlv(aMessage, ThreadTlv::kMeshLocalEid, sizeof(mlIidTlv), mlIidTlv));
|
||||
VerifyOrExit(mlIidTlv.IsValid(), ;);
|
||||
VerifyOrExit(mlIidTlv.IsValid());
|
||||
|
||||
SuccessOrExit(ThreadTlv::GetTlv(aMessage, ThreadTlv::kRloc16, sizeof(rloc16Tlv), rloc16Tlv));
|
||||
VerifyOrExit(rloc16Tlv.IsValid(), ;);
|
||||
VerifyOrExit(rloc16Tlv.IsValid());
|
||||
|
||||
lastTransactionTime = 0;
|
||||
|
||||
if (ThreadTlv::GetTlv(aMessage, ThreadTlv::kLastTransactionTime, sizeof(lastTransactionTimeTlv),
|
||||
lastTransactionTimeTlv) == kThreadError_None)
|
||||
{
|
||||
VerifyOrExit(lastTransactionTimeTlv.IsValid(), ;);
|
||||
VerifyOrExit(lastTransactionTimeTlv.IsValid());
|
||||
lastTransactionTime = lastTransactionTimeTlv.GetTime();
|
||||
}
|
||||
|
||||
@@ -507,12 +507,12 @@ void AddressResolver::HandleAddressQuery(Coap::Header &aHeader, Message &aMessag
|
||||
uint8_t numChildren;
|
||||
|
||||
VerifyOrExit(aHeader.GetType() == kCoapTypeNonConfirmable &&
|
||||
aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
otLogInfoArp(GetInstance(), "Received address query from %04x", HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[7]));
|
||||
|
||||
SuccessOrExit(ThreadTlv::GetTlv(aMessage, ThreadTlv::kTarget, sizeof(targetTlv), targetTlv));
|
||||
VerifyOrExit(targetTlv.IsValid(), ;);
|
||||
VerifyOrExit(targetTlv.IsValid());
|
||||
|
||||
mlIidTlv.Init();
|
||||
|
||||
@@ -667,9 +667,9 @@ void AddressResolver::HandleIcmpReceive(Message &aMessage, const Ip6::MessageInf
|
||||
{
|
||||
Ip6::Header ip6Header;
|
||||
|
||||
VerifyOrExit(aIcmpHeader.GetType() == kIcmp6TypeDstUnreach, ;);
|
||||
VerifyOrExit(aIcmpHeader.GetCode() == kIcmp6CodeDstUnreachNoRoute, ;);
|
||||
VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(ip6Header), &ip6Header) == sizeof(ip6Header), ;);
|
||||
VerifyOrExit(aIcmpHeader.GetType() == kIcmp6TypeDstUnreach);
|
||||
VerifyOrExit(aIcmpHeader.GetCode() == kIcmp6CodeDstUnreachNoRoute);
|
||||
VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(ip6Header), &ip6Header) == sizeof(ip6Header));
|
||||
|
||||
for (int i = 0; i < kCacheEntries; i++)
|
||||
{
|
||||
|
||||
@@ -88,7 +88,7 @@ ThreadError AnnounceBeginServer::SendAnnounce(uint32_t aChannelMask, uint8_t aCo
|
||||
while ((mChannelMask & (1 << mChannel)) == 0)
|
||||
{
|
||||
mChannel++;
|
||||
VerifyOrExit(mChannel <= kPhyMaxChannel,);
|
||||
VerifyOrExit(mChannel <= kPhyMaxChannel);
|
||||
}
|
||||
|
||||
mTimer.Start(mPeriod);
|
||||
@@ -111,16 +111,16 @@ void AnnounceBeginServer::HandleRequest(Coap::Header &aHeader, Message &aMessage
|
||||
MeshCoP::PeriodTlv period;
|
||||
Ip6::MessageInfo responseInfo(aMessageInfo);
|
||||
|
||||
VerifyOrExit(aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
VerifyOrExit(aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kChannelMask, sizeof(channelMask), channelMask));
|
||||
VerifyOrExit(channelMask.IsValid(),);
|
||||
VerifyOrExit(channelMask.IsValid());
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kCount, sizeof(count), count));
|
||||
VerifyOrExit(count.IsValid(), ;);
|
||||
VerifyOrExit(count.IsValid());
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kPeriod, sizeof(period), period));
|
||||
VerifyOrExit(period.IsValid(), ;);
|
||||
VerifyOrExit(period.IsValid());
|
||||
|
||||
SendAnnounce(channelMask.GetMask(), count.GetCount(), period.GetPeriod());
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ void DataPollManager::HandlePollSent(ThreadError aError)
|
||||
{
|
||||
bool shouldRecalculatePollPeriod = false;
|
||||
|
||||
VerifyOrExit(mEnabled, ;);
|
||||
VerifyOrExit(mEnabled);
|
||||
|
||||
switch (aError)
|
||||
{
|
||||
@@ -224,7 +224,7 @@ void DataPollManager::HandlePollTimeout(void)
|
||||
// a data poll indicated that a frame was pending, but no frame
|
||||
// was received after timeout interval.
|
||||
|
||||
VerifyOrExit(mEnabled, ;);
|
||||
VerifyOrExit(mEnabled);
|
||||
|
||||
mPollTimeoutCounter++;
|
||||
|
||||
@@ -244,7 +244,7 @@ exit:
|
||||
|
||||
void DataPollManager::HandleReceivedFrame(Mac::Frame &aFrame)
|
||||
{
|
||||
VerifyOrExit(mEnabled, ;);
|
||||
VerifyOrExit(mEnabled);
|
||||
|
||||
mPollTimeoutCounter = 0;
|
||||
|
||||
|
||||
@@ -85,19 +85,19 @@ void EnergyScanServer::HandleRequest(Coap::Header &aHeader, Message &aMessage, c
|
||||
MeshCoP::ChannelMask0Tlv channelMask;
|
||||
Ip6::MessageInfo responseInfo(aMessageInfo);
|
||||
|
||||
VerifyOrExit(aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
VerifyOrExit(aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kCount, sizeof(count), count));
|
||||
VerifyOrExit(count.IsValid(), ;);
|
||||
VerifyOrExit(count.IsValid());
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kPeriod, sizeof(period), period));
|
||||
VerifyOrExit(period.IsValid(), ;);
|
||||
VerifyOrExit(period.IsValid());
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kScanDuration, sizeof(scanDuration), scanDuration));
|
||||
VerifyOrExit(scanDuration.IsValid(), ;);
|
||||
VerifyOrExit(scanDuration.IsValid());
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kChannelMask, sizeof(channelMask), channelMask));
|
||||
VerifyOrExit(channelMask.IsValid(), ;);
|
||||
VerifyOrExit(channelMask.IsValid());
|
||||
|
||||
mChannelMask = channelMask.GetMask();
|
||||
mChannelMaskCurrent = mChannelMask;
|
||||
@@ -126,7 +126,7 @@ void EnergyScanServer::HandleTimer(void *aContext)
|
||||
|
||||
void EnergyScanServer::HandleTimer(void)
|
||||
{
|
||||
VerifyOrExit(mActive, ;);
|
||||
VerifyOrExit(mActive);
|
||||
|
||||
if (mCount)
|
||||
{
|
||||
@@ -150,7 +150,7 @@ void EnergyScanServer::HandleScanResult(void *aContext, otEnergyScanResult *aRes
|
||||
|
||||
void EnergyScanServer::HandleScanResult(otEnergyScanResult *aResult)
|
||||
{
|
||||
VerifyOrExit(mActive, ;);
|
||||
VerifyOrExit(mActive);
|
||||
|
||||
if (aResult)
|
||||
{
|
||||
|
||||
@@ -91,7 +91,7 @@ ThreadError KeyManager::SetMasterKey(const void *aKey, uint8_t aKeyLength)
|
||||
uint8_t num;
|
||||
|
||||
VerifyOrExit(aKeyLength <= sizeof(mMasterKey), error = kThreadError_InvalidArgs);
|
||||
VerifyOrExit((mMasterKeyLength != aKeyLength) || (memcmp(mMasterKey, aKey, aKeyLength) != 0), ;);
|
||||
VerifyOrExit((mMasterKeyLength != aKeyLength) || (memcmp(mMasterKey, aKey, aKeyLength) != 0));
|
||||
|
||||
memcpy(mMasterKey, aKey, aKeyLength);
|
||||
mMasterKeyLength = aKeyLength;
|
||||
|
||||
+41
-41
@@ -601,13 +601,13 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
Ip6::IpProto nextHeader;
|
||||
uint8_t *bytes;
|
||||
|
||||
VerifyOrExit(remaining >= 2,);
|
||||
VerifyOrExit(remaining >= 2);
|
||||
hcCtl = static_cast<uint16_t>((cur[0] << 8) | cur[1]);
|
||||
cur += 2;
|
||||
remaining -= 2;
|
||||
|
||||
// check Dispatch bits
|
||||
VerifyOrExit((hcCtl & kHcDispatchMask) == kHcDispatch,);
|
||||
VerifyOrExit((hcCtl & kHcDispatchMask) == kHcDispatch);
|
||||
|
||||
// Context Identifier
|
||||
srcContext.mPrefixLength = 0;
|
||||
@@ -615,7 +615,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
|
||||
if ((hcCtl & kHcContextId) != 0)
|
||||
{
|
||||
VerifyOrExit(remaining >= 1,);
|
||||
VerifyOrExit(remaining >= 1);
|
||||
|
||||
if (mNetworkData.GetContext(cur[0] >> 4, srcContext) != kThreadError_None)
|
||||
{
|
||||
@@ -642,7 +642,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
// Traffic Class and Flow Label
|
||||
if ((hcCtl & kHcTrafficFlowMask) != kHcTrafficFlow)
|
||||
{
|
||||
VerifyOrExit(remaining >= 1,);
|
||||
VerifyOrExit(remaining >= 1);
|
||||
|
||||
bytes = reinterpret_cast<uint8_t *>(&ip6Header);
|
||||
bytes[1] |= (cur[0] & 0xc0) >> 2;
|
||||
@@ -657,7 +657,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
|
||||
if ((hcCtl & kHcFlowLabel) == 0)
|
||||
{
|
||||
VerifyOrExit(remaining >= 3,);
|
||||
VerifyOrExit(remaining >= 3);
|
||||
bytes[1] |= cur[0] & 0x0f;
|
||||
bytes[2] |= cur[1];
|
||||
bytes[3] |= cur[2];
|
||||
@@ -669,7 +669,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
// Next Header
|
||||
if ((hcCtl & kHcNextHeader) == 0)
|
||||
{
|
||||
VerifyOrExit(remaining >= 1,);
|
||||
VerifyOrExit(remaining >= 1);
|
||||
ip6Header.SetNextHeader(static_cast<Ip6::IpProto>(cur[0]));
|
||||
cur++;
|
||||
remaining--;
|
||||
@@ -691,7 +691,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
break;
|
||||
|
||||
default:
|
||||
VerifyOrExit(remaining >= 1,);
|
||||
VerifyOrExit(remaining >= 1);
|
||||
ip6Header.SetHopLimit(cur[0]);
|
||||
cur++;
|
||||
remaining--;
|
||||
@@ -704,7 +704,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
case kHcSrcAddrMode0:
|
||||
if ((hcCtl & kHcSrcAddrContext) == 0)
|
||||
{
|
||||
VerifyOrExit(remaining >= sizeof(Ip6::Address),);
|
||||
VerifyOrExit(remaining >= sizeof(Ip6::Address));
|
||||
memcpy(&ip6Header.GetSource(), cur, sizeof(ip6Header.GetSource()));
|
||||
cur += sizeof(Ip6::Address);
|
||||
remaining -= sizeof(Ip6::Address);
|
||||
@@ -713,14 +713,14 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
break;
|
||||
|
||||
case kHcSrcAddrMode1:
|
||||
VerifyOrExit(remaining >= Ip6::Address::kInterfaceIdentifierSize,);
|
||||
VerifyOrExit(remaining >= Ip6::Address::kInterfaceIdentifierSize);
|
||||
ip6Header.GetSource().SetIid(cur);
|
||||
cur += Ip6::Address::kInterfaceIdentifierSize;
|
||||
remaining -= Ip6::Address::kInterfaceIdentifierSize;
|
||||
break;
|
||||
|
||||
case kHcSrcAddrMode2:
|
||||
VerifyOrExit(remaining >= 2,);
|
||||
VerifyOrExit(remaining >= 2);
|
||||
ip6Header.GetSource().mFields.m8[11] = 0xff;
|
||||
ip6Header.GetSource().mFields.m8[12] = 0xfe;
|
||||
memcpy(ip6Header.GetSource().mFields.m8 + 14, cur, 2);
|
||||
@@ -741,7 +741,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
}
|
||||
else
|
||||
{
|
||||
VerifyOrExit(srcContextValid,);
|
||||
VerifyOrExit(srcContextValid);
|
||||
CopyContext(srcContext, ip6Header.GetSource());
|
||||
}
|
||||
}
|
||||
@@ -753,22 +753,22 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
switch (hcCtl & kHcDstAddrModeMask)
|
||||
{
|
||||
case kHcDstAddrMode0:
|
||||
VerifyOrExit((hcCtl & kHcDstAddrContext) == 0,);
|
||||
VerifyOrExit(remaining >= sizeof(Ip6::Address),);
|
||||
VerifyOrExit((hcCtl & kHcDstAddrContext) == 0);
|
||||
VerifyOrExit(remaining >= sizeof(Ip6::Address));
|
||||
memcpy(&ip6Header.GetDestination(), cur, sizeof(ip6Header.GetDestination()));
|
||||
cur += sizeof(Ip6::Address);
|
||||
remaining -= sizeof(Ip6::Address);
|
||||
break;
|
||||
|
||||
case kHcDstAddrMode1:
|
||||
VerifyOrExit(remaining >= Ip6::Address::kInterfaceIdentifierSize,);
|
||||
VerifyOrExit(remaining >= Ip6::Address::kInterfaceIdentifierSize);
|
||||
ip6Header.GetDestination().SetIid(cur);
|
||||
cur += Ip6::Address::kInterfaceIdentifierSize;
|
||||
remaining -= Ip6::Address::kInterfaceIdentifierSize;
|
||||
break;
|
||||
|
||||
case kHcDstAddrMode2:
|
||||
VerifyOrExit(remaining >= 2,);
|
||||
VerifyOrExit(remaining >= 2);
|
||||
ip6Header.GetDestination().mFields.m8[11] = 0xff;
|
||||
ip6Header.GetDestination().mFields.m8[12] = 0xfe;
|
||||
memcpy(ip6Header.GetDestination().mFields.m8 + 14, cur, 2);
|
||||
@@ -790,7 +790,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
}
|
||||
else
|
||||
{
|
||||
VerifyOrExit(dstContextValid,);
|
||||
VerifyOrExit(dstContextValid);
|
||||
CopyContext(dstContext, ip6Header.GetDestination());
|
||||
}
|
||||
}
|
||||
@@ -805,14 +805,14 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
switch (hcCtl & kHcDstAddrModeMask)
|
||||
{
|
||||
case kHcDstAddrMode0:
|
||||
VerifyOrExit(remaining >= sizeof(Ip6::Address),);
|
||||
VerifyOrExit(remaining >= sizeof(Ip6::Address));
|
||||
memcpy(ip6Header.GetDestination().mFields.m8, cur, sizeof(Ip6::Address));
|
||||
cur += sizeof(Ip6::Address);
|
||||
remaining -= sizeof(Ip6::Address);
|
||||
break;
|
||||
|
||||
case kHcDstAddrMode1:
|
||||
VerifyOrExit(remaining >= 6,);
|
||||
VerifyOrExit(remaining >= 6);
|
||||
ip6Header.GetDestination().mFields.m8[1] = cur[0];
|
||||
memcpy(ip6Header.GetDestination().mFields.m8 + 11, cur + 1, 5);
|
||||
cur += 6;
|
||||
@@ -820,7 +820,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
break;
|
||||
|
||||
case kHcDstAddrMode2:
|
||||
VerifyOrExit(remaining >= 4,);
|
||||
VerifyOrExit(remaining >= 4);
|
||||
ip6Header.GetDestination().mFields.m8[1] = cur[0];
|
||||
memcpy(ip6Header.GetDestination().mFields.m8 + 13, cur + 1, 3);
|
||||
cur += 4;
|
||||
@@ -828,7 +828,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
break;
|
||||
|
||||
case kHcDstAddrMode3:
|
||||
VerifyOrExit(remaining >= 1,);
|
||||
VerifyOrExit(remaining >= 1);
|
||||
ip6Header.GetDestination().mFields.m8[1] = 0x02;
|
||||
ip6Header.GetDestination().mFields.m8[15] = cur[0];
|
||||
cur++;
|
||||
@@ -841,8 +841,8 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
switch (hcCtl & kHcDstAddrModeMask)
|
||||
{
|
||||
case 0:
|
||||
VerifyOrExit(remaining >= 6,);
|
||||
VerifyOrExit(dstContextValid,);
|
||||
VerifyOrExit(remaining >= 6);
|
||||
VerifyOrExit(dstContextValid);
|
||||
ip6Header.GetDestination().mFields.m8[1] = cur[0];
|
||||
ip6Header.GetDestination().mFields.m8[2] = cur[1];
|
||||
ip6Header.GetDestination().mFields.m8[3] = dstContext.mPrefixLength;
|
||||
@@ -860,7 +860,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header &ip6Header, const Mac::Address &aMa
|
||||
|
||||
if ((hcCtl & kHcNextHeader) != 0)
|
||||
{
|
||||
VerifyOrExit(remaining >= 1,);
|
||||
VerifyOrExit(remaining >= 1);
|
||||
SuccessOrExit(DispatchToNextHeader(cur[0], nextHeader));
|
||||
ip6Header.SetNextHeader(nextHeader);
|
||||
}
|
||||
@@ -884,33 +884,33 @@ int Lowpan::DecompressExtensionHeader(Message &aMessage, const uint8_t *aBuf, ui
|
||||
Ip6::OptionPad1 optionPad1;
|
||||
Ip6::OptionPadN optionPadN;
|
||||
|
||||
VerifyOrExit(remaining >= 1,);
|
||||
VerifyOrExit(remaining >= 1);
|
||||
cur++;
|
||||
remaining--;
|
||||
|
||||
// next header
|
||||
if (ctl & kExtHdrNextHeader)
|
||||
{
|
||||
VerifyOrExit(remaining >= 1,);
|
||||
VerifyOrExit(remaining >= 1);
|
||||
|
||||
len = cur[0];
|
||||
cur++;
|
||||
remaining--;
|
||||
|
||||
VerifyOrExit(remaining >= len,);
|
||||
VerifyOrExit(remaining >= len);
|
||||
SuccessOrExit(DispatchToNextHeader(cur[len], nextHeader));
|
||||
hdr[0] = static_cast<uint8_t>(nextHeader);
|
||||
}
|
||||
else
|
||||
{
|
||||
VerifyOrExit(remaining >= 2,);
|
||||
VerifyOrExit(remaining >= 2);
|
||||
|
||||
hdr[0] = cur[0];
|
||||
len = cur[1];
|
||||
cur += 2;
|
||||
remaining -= 2;
|
||||
|
||||
VerifyOrExit(remaining >= len,);
|
||||
VerifyOrExit(remaining >= len);
|
||||
}
|
||||
|
||||
// length
|
||||
@@ -959,7 +959,7 @@ int Lowpan::DecompressUdpHeader(Message &aMessage, const uint8_t *aBuf, uint16_t
|
||||
Ip6::UdpHeader udpHeader;
|
||||
uint8_t udpCtl;
|
||||
|
||||
VerifyOrExit(remaining >= 1,);
|
||||
VerifyOrExit(remaining >= 1);
|
||||
udpCtl = cur[0];
|
||||
cur++;
|
||||
remaining--;
|
||||
@@ -970,7 +970,7 @@ int Lowpan::DecompressUdpHeader(Message &aMessage, const uint8_t *aBuf, uint16_t
|
||||
switch (udpCtl & kUdpPortMask)
|
||||
{
|
||||
case 0:
|
||||
VerifyOrExit(remaining >= 4,);
|
||||
VerifyOrExit(remaining >= 4);
|
||||
udpHeader.SetSourcePort(static_cast<uint16_t>((cur[0] << 8) | cur[1]));
|
||||
udpHeader.SetDestinationPort(static_cast<uint16_t>((cur[2] << 8) | cur[3]));
|
||||
cur += 4;
|
||||
@@ -978,7 +978,7 @@ int Lowpan::DecompressUdpHeader(Message &aMessage, const uint8_t *aBuf, uint16_t
|
||||
break;
|
||||
|
||||
case 1:
|
||||
VerifyOrExit(remaining >= 3,);
|
||||
VerifyOrExit(remaining >= 3);
|
||||
udpHeader.SetSourcePort(static_cast<uint16_t>((cur[0] << 8) | cur[1]));
|
||||
udpHeader.SetDestinationPort(0xf000 | cur[2]);
|
||||
cur += 3;
|
||||
@@ -986,7 +986,7 @@ int Lowpan::DecompressUdpHeader(Message &aMessage, const uint8_t *aBuf, uint16_t
|
||||
break;
|
||||
|
||||
case 2:
|
||||
VerifyOrExit(remaining >= 3,);
|
||||
VerifyOrExit(remaining >= 3);
|
||||
udpHeader.SetSourcePort(0xf000 | cur[0]);
|
||||
udpHeader.SetDestinationPort(static_cast<uint16_t>((cur[1] << 8) | cur[2]));
|
||||
cur += 3;
|
||||
@@ -994,7 +994,7 @@ int Lowpan::DecompressUdpHeader(Message &aMessage, const uint8_t *aBuf, uint16_t
|
||||
break;
|
||||
|
||||
case 3:
|
||||
VerifyOrExit(remaining >= 1,);
|
||||
VerifyOrExit(remaining >= 1);
|
||||
udpHeader.SetSourcePort(0xf0b0 | (cur[0] >> 4));
|
||||
udpHeader.SetDestinationPort(0xf0b0 | (cur[0] & 0xf));
|
||||
cur += 1;
|
||||
@@ -1009,7 +1009,7 @@ int Lowpan::DecompressUdpHeader(Message &aMessage, const uint8_t *aBuf, uint16_t
|
||||
}
|
||||
else
|
||||
{
|
||||
VerifyOrExit(remaining >= 2,);
|
||||
VerifyOrExit(remaining >= 2);
|
||||
udpHeader.SetChecksum(static_cast<uint16_t>((cur[0] << 8) | cur[1]));
|
||||
cur += 2;
|
||||
}
|
||||
@@ -1046,10 +1046,10 @@ int Lowpan::Decompress(Message &aMessage, const Mac::Address &aMacSource, const
|
||||
uint16_t compressedLength = 0;
|
||||
uint16_t currentOffset = aMessage.GetOffset();
|
||||
|
||||
VerifyOrExit(remaining >= 2,);
|
||||
VerifyOrExit(remaining >= 2);
|
||||
compressed = (((static_cast<uint16_t>(cur[0]) << 8) | cur[1]) & kHcNextHeader) != 0;
|
||||
|
||||
VerifyOrExit((rval = DecompressBaseHeader(ip6Header, aMacSource, aMacDest, cur, remaining)) >= 0,);
|
||||
VerifyOrExit((rval = DecompressBaseHeader(ip6Header, aMacSource, aMacDest, cur, remaining)) >= 0);
|
||||
|
||||
cur += rval;
|
||||
remaining -= rval;
|
||||
@@ -1059,7 +1059,7 @@ int Lowpan::Decompress(Message &aMessage, const Mac::Address &aMacSource, const
|
||||
|
||||
while (compressed)
|
||||
{
|
||||
VerifyOrExit(remaining >= 1,);
|
||||
VerifyOrExit(remaining >= 1);
|
||||
|
||||
if ((cur[0] & kExtHdrDispatchMask) == kExtHdrDispatch)
|
||||
{
|
||||
@@ -1071,25 +1071,25 @@ int Lowpan::Decompress(Message &aMessage, const Mac::Address &aMacSource, const
|
||||
remaining--;
|
||||
|
||||
VerifyOrExit((rval = Decompress(aMessage, aMacSource, aMacDest, cur, remaining,
|
||||
(aDatagramLength ? aDatagramLength - aMessage.GetLength() : 0))) >= 0,);
|
||||
(aDatagramLength ? aDatagramLength - aMessage.GetLength() : 0))) >= 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
compressed = (cur[0] & kExtHdrNextHeader) != 0;
|
||||
VerifyOrExit((rval = DecompressExtensionHeader(aMessage, cur, remaining)) >= 0,);
|
||||
VerifyOrExit((rval = DecompressExtensionHeader(aMessage, cur, remaining)) >= 0);
|
||||
}
|
||||
}
|
||||
else if ((cur[0] & kUdpDispatchMask) == kUdpDispatch)
|
||||
{
|
||||
compressed = false;
|
||||
VerifyOrExit((rval = DecompressUdpHeader(aMessage, cur, remaining, aDatagramLength)) >= 0,);
|
||||
VerifyOrExit((rval = DecompressUdpHeader(aMessage, cur, remaining, aDatagramLength)) >= 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
ExitNow();
|
||||
}
|
||||
|
||||
VerifyOrExit(remaining >= rval,;);
|
||||
VerifyOrExit(remaining >= rval);
|
||||
cur += rval;
|
||||
remaining -= rval;
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ ThreadError MeshForwarder::Stop(void)
|
||||
ThreadError error = kThreadError_None;
|
||||
Message *message;
|
||||
|
||||
VerifyOrExit(mEnabled == true,);
|
||||
VerifyOrExit(mEnabled == true);
|
||||
|
||||
mDataPollManager.StopPolling();
|
||||
mReassemblyTimer.Stop();
|
||||
@@ -186,7 +186,7 @@ void MeshForwarder::ClearChildIndirectMessages(Child &aChild)
|
||||
{
|
||||
Message *nextMessage;
|
||||
|
||||
VerifyOrExit(aChild.mQueuedIndirectMessageCnt > 0,);
|
||||
VerifyOrExit(aChild.mQueuedIndirectMessageCnt > 0);
|
||||
|
||||
for (Message *message = mSendQueue.GetHead(); message; message = nextMessage)
|
||||
{
|
||||
@@ -325,7 +325,7 @@ ThreadError MeshForwarder::AddPendingSrcMatchEntries(void)
|
||||
children[i].mAddSrcMatchEntryPending &&
|
||||
children[i].mAddSrcMatchEntryShort)
|
||||
{
|
||||
VerifyOrExit(((error = AddSrcMatchEntry(children[i])) == kThreadError_None), ;);
|
||||
VerifyOrExit(((error = AddSrcMatchEntry(children[i])) == kThreadError_None));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -336,7 +336,7 @@ ThreadError MeshForwarder::AddPendingSrcMatchEntries(void)
|
||||
children[i].mAddSrcMatchEntryPending &&
|
||||
!children[i].mAddSrcMatchEntryShort)
|
||||
{
|
||||
VerifyOrExit(((error = AddSrcMatchEntry(children[i])) == kThreadError_None), ;);
|
||||
VerifyOrExit(((error = AddSrcMatchEntry(children[i])) == kThreadError_None));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -358,7 +358,7 @@ ThreadError MeshForwarder::AddSrcMatchEntry(Child &aChild)
|
||||
aChild.mAddSrcMatchEntryPending = true;
|
||||
}
|
||||
|
||||
VerifyOrExit(aChild.mAddSrcMatchEntryPending, ;);
|
||||
VerifyOrExit(aChild.mAddSrcMatchEntryPending);
|
||||
|
||||
if (aChild.mAddSrcMatchEntryShort)
|
||||
{
|
||||
@@ -427,7 +427,7 @@ void MeshForwarder::ClearSrcMatchEntry(Child &aChild)
|
||||
|
||||
void MeshForwarder::SetSrcMatchAsShort(Child &aChild, bool aShortSource)
|
||||
{
|
||||
VerifyOrExit(aChild.mAddSrcMatchEntryShort != aShortSource, ;);
|
||||
VerifyOrExit(aChild.mAddSrcMatchEntryShort != aShortSource);
|
||||
|
||||
if (aChild.mQueuedIndirectMessageCnt > 0)
|
||||
{
|
||||
@@ -1473,7 +1473,7 @@ void MeshForwarder::HandleSentFrame(Mac::Frame &aFrame, ThreadError aError)
|
||||
|
||||
mSendBusy = false;
|
||||
|
||||
VerifyOrExit(mEnabled, ;);
|
||||
VerifyOrExit(mEnabled);
|
||||
|
||||
if (mSendMessage != NULL)
|
||||
{
|
||||
@@ -1521,7 +1521,7 @@ void MeshForwarder::HandleSentFrame(Mac::Frame &aFrame, ThreadError aError)
|
||||
{
|
||||
child->mDataRequest = false;
|
||||
|
||||
VerifyOrExit(mSendMessage != NULL, ;);
|
||||
VerifyOrExit(mSendMessage != NULL);
|
||||
|
||||
if (mSendMessage == child->mIndirectSendInfo.mMessage)
|
||||
{
|
||||
@@ -1603,7 +1603,7 @@ void MeshForwarder::HandleSentFrame(Mac::Frame &aFrame, ThreadError aError)
|
||||
}
|
||||
}
|
||||
|
||||
VerifyOrExit(mSendMessage != NULL, ;);
|
||||
VerifyOrExit(mSendMessage != NULL);
|
||||
|
||||
if (mSendMessage->GetDirectTransmission())
|
||||
{
|
||||
@@ -1863,14 +1863,14 @@ ThreadError MeshForwarder::CheckReachability(uint8_t *aFrame, uint8_t aFrameLeng
|
||||
reinterpret_cast<Lowpan::FragmentHeader *>(aFrame)->IsFragmentHeader())
|
||||
{
|
||||
VerifyOrExit(sizeof(Lowpan::FragmentHeader) <= aFrameLength, error = kThreadError_Drop);
|
||||
VerifyOrExit(reinterpret_cast<Lowpan::FragmentHeader *>(aFrame)->GetDatagramOffset() == 0,);
|
||||
VerifyOrExit(reinterpret_cast<Lowpan::FragmentHeader *>(aFrame)->GetDatagramOffset() == 0);
|
||||
|
||||
aFrame += reinterpret_cast<Lowpan::FragmentHeader *>(aFrame)->GetHeaderLength();
|
||||
aFrameLength -= reinterpret_cast<Lowpan::FragmentHeader *>(aFrame)->GetHeaderLength();
|
||||
}
|
||||
|
||||
// only process IPv6 packets
|
||||
VerifyOrExit(aFrameLength >= 1 && Lowpan::Lowpan::IsLowpanHc(aFrame),);
|
||||
VerifyOrExit(aFrameLength >= 1 && Lowpan::Lowpan::IsLowpanHc(aFrame));
|
||||
|
||||
VerifyOrExit(mNetif.GetLowpan().DecompressBaseHeader(ip6Header, aMeshSource, aMeshDest, aFrame, aFrameLength) > 0,
|
||||
error = kThreadError_Drop);
|
||||
@@ -2097,11 +2097,11 @@ void MeshForwarder::HandleDataRequest(const Mac::Address &aMacSource, const Thre
|
||||
Child *child;
|
||||
|
||||
// Security Check: only process secure Data Poll frames.
|
||||
VerifyOrExit(aMessageInfo.mLinkSecurity, ;);
|
||||
VerifyOrExit(aMessageInfo.mLinkSecurity);
|
||||
|
||||
VerifyOrExit(mNetif.GetMle().GetDeviceState() != Mle::kDeviceStateDetached, ;);
|
||||
VerifyOrExit(mNetif.GetMle().GetDeviceState() != Mle::kDeviceStateDetached);
|
||||
|
||||
VerifyOrExit((child = mNetif.GetMle().GetChild(aMacSource)) != NULL, ;);
|
||||
VerifyOrExit((child = mNetif.GetMle().GetChild(aMacSource)) != NULL);
|
||||
child->mLastHeard = Timer::GetNow();
|
||||
child->mLinkFailures = 0;
|
||||
|
||||
@@ -2131,10 +2131,10 @@ void MeshForwarder::LogIp6Message(MessageAction aAction, const Message &aMessage
|
||||
Ip6::IpProto protocol;
|
||||
char stringBuffer[Ip6::Address::kIp6AddressStringSize];
|
||||
|
||||
VerifyOrExit(aMessage.GetType() == Message::kTypeIp6, ;);
|
||||
VerifyOrExit(aMessage.GetType() == Message::kTypeIp6);
|
||||
|
||||
VerifyOrExit(sizeof(ip6Header) == aMessage.Read(0, sizeof(ip6Header), &ip6Header), ;);
|
||||
VerifyOrExit(ip6Header.IsVersion6(), ;);
|
||||
VerifyOrExit(sizeof(ip6Header) == aMessage.Read(0, sizeof(ip6Header), &ip6Header));
|
||||
VerifyOrExit(ip6Header.IsVersion6());
|
||||
|
||||
protocol = ip6Header.GetNextHeader();
|
||||
|
||||
@@ -2144,7 +2144,7 @@ void MeshForwarder::LogIp6Message(MessageAction aAction, const Message &aMessage
|
||||
{
|
||||
Ip6::UdpHeader udpHeader;
|
||||
|
||||
VerifyOrExit(sizeof(udpHeader) == aMessage.Read(sizeof(ip6Header), sizeof(udpHeader), &udpHeader), ;);
|
||||
VerifyOrExit(sizeof(udpHeader) == aMessage.Read(sizeof(ip6Header), sizeof(udpHeader), &udpHeader));
|
||||
checksum = udpHeader.GetChecksum();
|
||||
break;
|
||||
}
|
||||
@@ -2153,7 +2153,7 @@ void MeshForwarder::LogIp6Message(MessageAction aAction, const Message &aMessage
|
||||
{
|
||||
Ip6::TcpHeader tcpHeader;
|
||||
|
||||
VerifyOrExit(sizeof(tcpHeader) == aMessage.Read(sizeof(ip6Header), sizeof(tcpHeader), &tcpHeader), ;);
|
||||
VerifyOrExit(sizeof(tcpHeader) == aMessage.Read(sizeof(ip6Header), sizeof(tcpHeader), &tcpHeader));
|
||||
checksum = tcpHeader.GetChecksum();
|
||||
break;
|
||||
}
|
||||
|
||||
+31
-31
@@ -391,7 +391,7 @@ ThreadError Mle::Discover(uint32_t aScanChannels, uint16_t aScanDuration, uint16
|
||||
mDiscoverContext = aContext;
|
||||
mNetif.GetMeshForwarder().SetDiscoverParameters(aScanChannels, aScanDuration);
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
message->SetSubType(Message::kSubTypeMleDiscoverRequest);
|
||||
message->SetPanId(aPanId);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandDiscoveryRequest));
|
||||
@@ -592,7 +592,7 @@ ThreadError Mle::SetStateChild(uint16_t aRloc16)
|
||||
|
||||
ThreadError Mle::SetTimeout(uint32_t aTimeout)
|
||||
{
|
||||
VerifyOrExit(mTimeout != aTimeout, ;);
|
||||
VerifyOrExit(mTimeout != aTimeout);
|
||||
|
||||
if (aTimeout < 4)
|
||||
{
|
||||
@@ -619,7 +619,7 @@ ThreadError Mle::SetDeviceMode(uint8_t aDeviceMode)
|
||||
|
||||
VerifyOrExit((aDeviceMode & ModeTlv::kModeFFD) == 0 || (aDeviceMode & ModeTlv::kModeRxOnWhenIdle) != 0,
|
||||
error = kThreadError_InvalidArgs);
|
||||
VerifyOrExit(mDeviceMode != aDeviceMode, ;);
|
||||
VerifyOrExit(mDeviceMode != aDeviceMode);
|
||||
|
||||
mDeviceMode = aDeviceMode;
|
||||
|
||||
@@ -914,7 +914,7 @@ Message *Mle::NewMleMessage(void)
|
||||
Message *message;
|
||||
|
||||
message = mSocket.NewMessage(0);
|
||||
VerifyOrExit(message != NULL, ;);
|
||||
VerifyOrExit(message != NULL);
|
||||
|
||||
message->SetSubType(Message::kSubTypeMleGeneral);
|
||||
message->SetLinkSecurityEnabled(false);
|
||||
@@ -1212,7 +1212,7 @@ void Mle::HandleNetifStateChanged(uint32_t aFlags, void *aContext)
|
||||
|
||||
void Mle::HandleNetifStateChanged(uint32_t aFlags)
|
||||
{
|
||||
VerifyOrExit(mDeviceState != kDeviceStateDisabled, ;);
|
||||
VerifyOrExit(mDeviceState != kDeviceStateDisabled);
|
||||
|
||||
if ((aFlags & (OT_IP6_ADDRESS_ADDED | OT_IP6_ADDRESS_REMOVED)) != 0)
|
||||
{
|
||||
@@ -1499,7 +1499,7 @@ ThreadError Mle::SendParentRequest(void)
|
||||
break;
|
||||
}
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandParentRequest));
|
||||
SuccessOrExit(error = AppendMode(*message, mDeviceMode));
|
||||
SuccessOrExit(error = AppendChallenge(*message, mParentRequest.mChallenge, sizeof(mParentRequest.mChallenge)));
|
||||
@@ -1546,7 +1546,7 @@ ThreadError Mle::SendChildIdRequest(void)
|
||||
Message *message;
|
||||
Ip6::Address destination;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandChildIdRequest));
|
||||
SuccessOrExit(error = AppendResponse(*message, mChildIdRequest.mChallenge, mChildIdRequest.mChallengeLength));
|
||||
SuccessOrExit(error = AppendLinkFrameCounter(*message));
|
||||
@@ -1592,7 +1592,7 @@ ThreadError Mle::SendDataRequest(const Ip6::Address &aDestination, const uint8_t
|
||||
ThreadError error = kThreadError_None;
|
||||
Message *message;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandDataRequest));
|
||||
SuccessOrExit(error = AppendTlvRequest(*message, aTlvs, aTlvsLength));
|
||||
SuccessOrExit(error = AppendActiveTimestamp(*message, false));
|
||||
@@ -1659,7 +1659,7 @@ ThreadError Mle::SendChildUpdateRequest(void)
|
||||
mParentRequestTimer.Start(kUnicastRetransmissionDelay);
|
||||
mChildUpdateAttempts++;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandChildUpdateRequest));
|
||||
SuccessOrExit(error = AppendMode(*message, mDeviceMode));
|
||||
|
||||
@@ -1726,7 +1726,7 @@ ThreadError Mle::SendChildUpdateResponse(const uint8_t *aTlvs, uint8_t aNumTlvs,
|
||||
Ip6::Address destination;
|
||||
Message *message;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandChildUpdateResponse));
|
||||
SuccessOrExit(error = AppendSourceAddress(*message));
|
||||
SuccessOrExit(error = AppendLeaderData(*message));
|
||||
@@ -1787,7 +1787,7 @@ ThreadError Mle::SendAnnounce(uint8_t aChannel, bool aOrphanAnnounce)
|
||||
Ip6::Address destination;
|
||||
Message *message;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
message->SetLinkSecurityEnabled(true);
|
||||
message->SetSubType(Message::kSubTypeMleAnnounce);
|
||||
message->SetChannel(aChannel);
|
||||
@@ -1841,7 +1841,7 @@ void Mle::SendOrphanAnnounce(void)
|
||||
channelMask = static_cast<MeshCoP::ChannelMask0Tlv *>(mNetif.GetActiveDataset().GetNetwork().Get(
|
||||
MeshCoP::Tlv::kChannelMask));
|
||||
|
||||
VerifyOrExit(channelMask != NULL,);
|
||||
VerifyOrExit(channelMask != NULL);
|
||||
|
||||
// find next channel in the Active Operational Dataset Channel Mask
|
||||
channel = mAnnounceChannel;
|
||||
@@ -1855,7 +1855,7 @@ void Mle::SendOrphanAnnounce(void)
|
||||
channel = kPhyMinChannel;
|
||||
}
|
||||
|
||||
VerifyOrExit(channel != mAnnounceChannel,);
|
||||
VerifyOrExit(channel != mAnnounceChannel);
|
||||
}
|
||||
|
||||
// Send Announce message
|
||||
@@ -1996,7 +1996,7 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn
|
||||
Neighbor *neighbor;
|
||||
|
||||
aMessage.Read(aMessage.GetOffset(), sizeof(header), &header);
|
||||
VerifyOrExit(header.IsValid(),);
|
||||
VerifyOrExit(header.IsValid());
|
||||
|
||||
assert(aMessageInfo.GetLinkInfo() != NULL);
|
||||
|
||||
@@ -2021,7 +2021,7 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn
|
||||
ExitNow();
|
||||
}
|
||||
|
||||
VerifyOrExit(mDeviceState != kDeviceStateDisabled && header.GetSecuritySuite() == Header::k154Security, ;);
|
||||
VerifyOrExit(mDeviceState != kDeviceStateDisabled && header.GetSecuritySuite() == Header::k154Security);
|
||||
|
||||
keySequence = header.GetKeyId();
|
||||
|
||||
@@ -2039,7 +2039,7 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn
|
||||
frameCounter = header.GetFrameCounter();
|
||||
|
||||
messageTagLength = aMessage.Read(aMessage.GetLength() - sizeof(messageTag), sizeof(messageTag), messageTag);
|
||||
VerifyOrExit(messageTagLength == sizeof(messageTag), ;);
|
||||
VerifyOrExit(messageTagLength == sizeof(messageTag));
|
||||
SuccessOrExit(aMessage.SetLength(aMessage.GetLength() - sizeof(messageTag)));
|
||||
|
||||
macAddr.Set(aMessageInfo.GetPeerAddr());
|
||||
@@ -2064,7 +2064,7 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn
|
||||
|
||||
tagLength = sizeof(tag);
|
||||
aesCcm.Finalize(tag, &tagLength);
|
||||
VerifyOrExit(messageTagLength == tagLength && memcmp(messageTag, tag, tagLength) == 0, ;);
|
||||
VerifyOrExit(messageTagLength == tagLength && memcmp(messageTag, tag, tagLength) == 0);
|
||||
|
||||
if (keySequence > mNetif.GetKeyManager().GetCurrentKeySequence())
|
||||
{
|
||||
@@ -2374,7 +2374,7 @@ ThreadError Mle::HandleLeaderData(const Message &aMessage, const Ip6::MessageInf
|
||||
mNetif.GetNetworkDataLeader().GetStableVersion());
|
||||
}
|
||||
|
||||
VerifyOrExit(diff > 0, ;);
|
||||
VerifyOrExit(diff > 0);
|
||||
}
|
||||
|
||||
// Network Data
|
||||
@@ -2570,7 +2570,7 @@ ThreadError Mle::HandleParentResponse(const Message &aMessage, const Ip6::Messag
|
||||
|
||||
linkQuality = LinkQualityInfo::ConvertLinkMarginToLinkQuality(linkMargin);
|
||||
|
||||
VerifyOrExit(mParentRequestState != kParentRequestRouter || linkQuality == 3, ;);
|
||||
VerifyOrExit(mParentRequestState != kParentRequestRouter || linkQuality == 3);
|
||||
|
||||
// Connectivity
|
||||
SuccessOrExit(error = Tlv::GetTlv(aMessage, Tlv::kConnectivity, sizeof(connectivity), connectivity));
|
||||
@@ -2583,20 +2583,20 @@ ThreadError Mle::HandleParentResponse(const Message &aMessage, const Ip6::Messag
|
||||
switch (mParentRequestMode)
|
||||
{
|
||||
case kMleAttachAnyPartition:
|
||||
VerifyOrExit(leaderData.GetPartitionId() != mLeaderData.GetPartitionId() || diff > 0,);
|
||||
VerifyOrExit(leaderData.GetPartitionId() != mLeaderData.GetPartitionId() || diff > 0);
|
||||
break;
|
||||
|
||||
case kMleAttachSamePartition1:
|
||||
case kMleAttachSamePartition2:
|
||||
VerifyOrExit(leaderData.GetPartitionId() == mLeaderData.GetPartitionId(), ;);
|
||||
VerifyOrExit(leaderData.GetPartitionId() == mLeaderData.GetPartitionId());
|
||||
VerifyOrExit(diff > 0 ||
|
||||
(diff == 0 && mNetif.GetMle().GetLeaderAge() < mNetif.GetMle().GetNetworkIdTimeout()), ;);
|
||||
(diff == 0 && mNetif.GetMle().GetLeaderAge() < mNetif.GetMle().GetNetworkIdTimeout()));
|
||||
break;
|
||||
|
||||
case kMleAttachBetterPartition:
|
||||
VerifyOrExit(leaderData.GetPartitionId() != mLeaderData.GetPartitionId(), ;);
|
||||
VerifyOrExit(leaderData.GetPartitionId() != mLeaderData.GetPartitionId());
|
||||
VerifyOrExit(mNetif.GetMle().ComparePartitions(connectivity.GetActiveRouters() <= 1, leaderData,
|
||||
mNetif.GetMle().IsSingleton(), mLeaderData) > 0, ;);
|
||||
mNetif.GetMle().IsSingleton(), mLeaderData) > 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -2613,10 +2613,10 @@ ThreadError Mle::HandleParentResponse(const Message &aMessage, const Ip6::Messag
|
||||
}
|
||||
|
||||
// only consider partitions that are the same or better
|
||||
VerifyOrExit(compare >= 0, ;);
|
||||
VerifyOrExit(compare >= 0);
|
||||
|
||||
// only consider better parents if the partitions are the same
|
||||
VerifyOrExit(compare != 0 || IsBetterParent(sourceAddress.GetRloc16(), linkQuality, connectivity), ;);
|
||||
VerifyOrExit(compare != 0 || IsBetterParent(sourceAddress.GetRloc16(), linkQuality, connectivity));
|
||||
}
|
||||
|
||||
// Link Frame Counter
|
||||
@@ -2626,7 +2626,7 @@ ThreadError Mle::HandleParentResponse(const Message &aMessage, const Ip6::Messag
|
||||
// Mle Frame Counter
|
||||
if (Tlv::GetTlv(aMessage, Tlv::kMleFrameCounter, sizeof(mleFrameCounter), mleFrameCounter) == kThreadError_None)
|
||||
{
|
||||
VerifyOrExit(mleFrameCounter.IsValid(), ;);
|
||||
VerifyOrExit(mleFrameCounter.IsValid());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2684,7 +2684,7 @@ ThreadError Mle::HandleChildIdResponse(const Message &aMessage, const Ip6::Messa
|
||||
|
||||
otLogInfoMle(GetInstance(), "Received Child ID Response");
|
||||
|
||||
VerifyOrExit(mParentRequestState == kChildIdRequest, ;);
|
||||
VerifyOrExit(mParentRequestState == kChildIdRequest);
|
||||
|
||||
// Leader Data
|
||||
SuccessOrExit(error = Tlv::GetTlv(aMessage, Tlv::kLeaderData, sizeof(leaderData), leaderData));
|
||||
@@ -2985,13 +2985,13 @@ ThreadError Mle::HandleAnnounce(const Message &aMessage, const Ip6::MessageInfo
|
||||
otLogInfoMle(GetInstance(), "Received announce");
|
||||
|
||||
SuccessOrExit(Tlv::GetTlv(aMessage, Tlv::kChannel, sizeof(channel), channel));
|
||||
VerifyOrExit(channel.IsValid(),);
|
||||
VerifyOrExit(channel.IsValid());
|
||||
|
||||
SuccessOrExit(Tlv::GetTlv(aMessage, Tlv::kActiveTimestamp, sizeof(timestamp), timestamp));
|
||||
VerifyOrExit(timestamp.IsValid(),);
|
||||
VerifyOrExit(timestamp.IsValid());
|
||||
|
||||
SuccessOrExit(Tlv::GetTlv(aMessage, Tlv::kPanId, sizeof(panid), panid));
|
||||
VerifyOrExit(panid.IsValid(),);
|
||||
VerifyOrExit(panid.IsValid());
|
||||
|
||||
localTimestamp = mNetif.GetActiveDataset().GetNetwork().GetTimestamp();
|
||||
|
||||
|
||||
@@ -331,7 +331,7 @@ ThreadError MleRouter::HandleChildStart(otMleAttachFilter aFilter)
|
||||
|
||||
mNetif.SubscribeAllRoutersMulticast();
|
||||
|
||||
VerifyOrExit(IsRouterIdValid(mPreviousRouterId), ;);
|
||||
VerifyOrExit(IsRouterIdValid(mPreviousRouterId));
|
||||
|
||||
switch (aFilter)
|
||||
{
|
||||
@@ -481,7 +481,7 @@ void MleRouter::StopAdvertiseTimer(void)
|
||||
|
||||
void MleRouter::ResetAdvertiseInterval(void)
|
||||
{
|
||||
VerifyOrExit(mDeviceState == kDeviceStateRouter || mDeviceState == kDeviceStateLeader,);
|
||||
VerifyOrExit(mDeviceState == kDeviceStateRouter || mDeviceState == kDeviceStateLeader);
|
||||
|
||||
if (!mAdvertiseTimer.IsRunning())
|
||||
{
|
||||
@@ -503,7 +503,7 @@ ThreadError MleRouter::SendAdvertisement(void)
|
||||
Ip6::Address destination;
|
||||
Message *message;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandAdvertisement));
|
||||
SuccessOrExit(error = AppendSourceAddress(*message));
|
||||
SuccessOrExit(error = AppendLeaderData(*message));
|
||||
@@ -551,7 +551,7 @@ ThreadError MleRouter::SendLinkRequest(Neighbor *aNeighbor)
|
||||
|
||||
memset(&destination, 0, sizeof(destination));
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandLinkRequest));
|
||||
SuccessOrExit(error = AppendVersion(*message));
|
||||
|
||||
@@ -634,9 +634,9 @@ ThreadError MleRouter::HandleLinkRequest(const Message &aMessage, const Ip6::Mes
|
||||
otLogInfoMle(GetInstance(), "Received link request");
|
||||
|
||||
VerifyOrExit(GetDeviceState() == kDeviceStateRouter ||
|
||||
GetDeviceState() == kDeviceStateLeader, ;);
|
||||
GetDeviceState() == kDeviceStateLeader);
|
||||
|
||||
VerifyOrExit(mParentRequestState == kParentIdle, ;);
|
||||
VerifyOrExit(mParentRequestState == kParentIdle);
|
||||
|
||||
macAddr.Set(aMessageInfo.GetPeerAddr());
|
||||
|
||||
@@ -652,7 +652,7 @@ ThreadError MleRouter::HandleLinkRequest(const Message &aMessage, const Ip6::Mes
|
||||
if (Tlv::GetTlv(aMessage, Tlv::kLeaderData, sizeof(leaderData), leaderData) == kThreadError_None)
|
||||
{
|
||||
VerifyOrExit(leaderData.IsValid(), error = kThreadError_Parse);
|
||||
VerifyOrExit(leaderData.GetPartitionId() == mLeaderData.GetPartitionId(), ;);
|
||||
VerifyOrExit(leaderData.GetPartitionId() == mLeaderData.GetPartitionId());
|
||||
}
|
||||
|
||||
// Source Address
|
||||
@@ -688,7 +688,7 @@ ThreadError MleRouter::HandleLinkRequest(const Message &aMessage, const Ip6::Mes
|
||||
}
|
||||
else
|
||||
{
|
||||
VerifyOrExit(memcmp(&neighbor->mMacAddr, &macAddr, sizeof(neighbor->mMacAddr)) == 0, ;);
|
||||
VerifyOrExit(memcmp(&neighbor->mMacAddr, &macAddr, sizeof(neighbor->mMacAddr)) == 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -735,7 +735,7 @@ ThreadError MleRouter::SendLinkAccept(const Ip6::MessageInfo &aMessageInfo, Neig
|
||||
command = (aNeighbor == NULL || aNeighbor->mState == Neighbor::kStateValid) ?
|
||||
Header::kCommandLinkAccept : Header::kCommandLinkAcceptAndRequest;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, command));
|
||||
SuccessOrExit(error = AppendVersion(*message));
|
||||
SuccessOrExit(error = AppendSourceAddress(*message));
|
||||
@@ -962,7 +962,7 @@ ThreadError MleRouter::HandleLinkAccept(const Message &aMessage, const Ip6::Mess
|
||||
// Leader Data
|
||||
SuccessOrExit(error = Tlv::GetTlv(aMessage, Tlv::kLeaderData, sizeof(leaderData), leaderData));
|
||||
VerifyOrExit(leaderData.IsValid(), error = kThreadError_Parse);
|
||||
VerifyOrExit(leaderData.GetPartitionId() == mLeaderData.GetPartitionId(), ;);
|
||||
VerifyOrExit(leaderData.GetPartitionId() == mLeaderData.GetPartitionId());
|
||||
|
||||
// Link Margin
|
||||
SuccessOrExit(error = Tlv::GetTlv(aMessage, Tlv::kLinkMargin, sizeof(linkMargin), linkMargin));
|
||||
@@ -1087,7 +1087,7 @@ uint8_t MleRouter::GetLinkCost(uint8_t aRouterId)
|
||||
router = GetRouter(aRouterId);
|
||||
|
||||
// NULL aRouterId indicates non-existing next hop, hence return kMaxRouteCost for it.
|
||||
VerifyOrExit(aRouterId != mRouterId && router != NULL && router->mState == Neighbor::kStateValid,);
|
||||
VerifyOrExit(aRouterId != mRouterId && router != NULL && router->mState == Neighbor::kStateValid);
|
||||
|
||||
rval = router->mLinkInfo.GetLinkQuality(mNetif.GetMac().GetNoiseFloor());
|
||||
|
||||
@@ -1306,7 +1306,7 @@ ThreadError MleRouter::HandleAdvertisement(const Message &aMessage, const Ip6::M
|
||||
ExitNow();
|
||||
}
|
||||
|
||||
VerifyOrExit(IsActiveRouter(sourceAddress.GetRloc16()), ;);
|
||||
VerifyOrExit(IsActiveRouter(sourceAddress.GetRloc16()));
|
||||
routerId = GetRouterId(sourceAddress.GetRloc16());
|
||||
router = GetRouter(routerId);
|
||||
VerifyOrExit(router != NULL, error = kThreadError_Parse);
|
||||
@@ -1642,12 +1642,12 @@ ThreadError MleRouter::HandleParentRequest(const Message &aMessage, const Ip6::M
|
||||
ExitNow();
|
||||
|
||||
case kDeviceStateChild:
|
||||
VerifyOrExit(scanMask.IsEndDeviceFlagSet(), ;);
|
||||
VerifyOrExit(scanMask.IsEndDeviceFlagSet());
|
||||
break;
|
||||
|
||||
case kDeviceStateRouter:
|
||||
case kDeviceStateLeader:
|
||||
VerifyOrExit(scanMask.IsRouterFlagSet(), ;);
|
||||
VerifyOrExit(scanMask.IsRouterFlagSet());
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1666,7 +1666,7 @@ ThreadError MleRouter::HandleParentRequest(const Message &aMessage, const Ip6::M
|
||||
|
||||
if (child == NULL)
|
||||
{
|
||||
VerifyOrExit((child = NewChild()) != NULL, ;);
|
||||
VerifyOrExit((child = NewChild()) != NULL);
|
||||
|
||||
memset(child, 0, sizeof(*child));
|
||||
|
||||
@@ -1849,7 +1849,7 @@ void MleRouter::HandleChildUpdateRequestTimer(void *aContext)
|
||||
|
||||
void MleRouter::HandleChildUpdateRequestTimer(void)
|
||||
{
|
||||
VerifyOrExit(GetDeviceState() == kDeviceStateRouter || GetDeviceState() == kDeviceStateLeader, ;);
|
||||
VerifyOrExit(GetDeviceState() == kDeviceStateRouter || GetDeviceState() == kDeviceStateLeader);
|
||||
|
||||
for (int i = 0; i < mMaxChildrenAllowed; i++)
|
||||
{
|
||||
@@ -1879,7 +1879,7 @@ ThreadError MleRouter::SendParentResponse(Child *aChild, const ChallengeTlv &cha
|
||||
Message *message;
|
||||
uint16_t delay;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandParentResponse));
|
||||
SuccessOrExit(error = AppendSourceAddress(*message));
|
||||
SuccessOrExit(error = AppendLeaderData(*message));
|
||||
@@ -1992,12 +1992,12 @@ ThreadError MleRouter::HandleChildIdRequest(const Message &aMessage, const Ip6::
|
||||
// Find Child
|
||||
macAddr.Set(aMessageInfo.GetPeerAddr());
|
||||
|
||||
VerifyOrExit((child = FindChild(macAddr)) != NULL, ;);
|
||||
VerifyOrExit((child = FindChild(macAddr)) != NULL);
|
||||
|
||||
// Response
|
||||
SuccessOrExit(error = Tlv::GetTlv(aMessage, Tlv::kResponse, sizeof(response), response));
|
||||
VerifyOrExit(response.IsValid() &&
|
||||
memcmp(response.GetResponse(), child->mAttachChallenge, sizeof(child->mAttachChallenge)) == 0, ;);
|
||||
memcmp(response.GetResponse(), child->mAttachChallenge, sizeof(child->mAttachChallenge)) == 0);
|
||||
|
||||
// Link-Layer Frame Counter
|
||||
SuccessOrExit(error = Tlv::GetTlv(aMessage, Tlv::kLinkFrameCounter, sizeof(linkFrameCounter),
|
||||
@@ -2280,7 +2280,7 @@ ThreadError MleRouter::HandleChildUpdateResponse(const Message &aMessage, const
|
||||
if (Tlv::GetTlv(aMessage, Tlv::kResponse, sizeof(response), response) == kThreadError_None)
|
||||
{
|
||||
VerifyOrExit(response.IsValid() &&
|
||||
memcmp(response.GetResponse(), child->mAttachChallenge, sizeof(child->mAttachChallenge)) == 0, ;);
|
||||
memcmp(response.GetResponse(), child->mAttachChallenge, sizeof(child->mAttachChallenge)) == 0);
|
||||
}
|
||||
|
||||
// Link-Layer Frame Counter
|
||||
@@ -2396,7 +2396,7 @@ ThreadError MleRouter::HandleNetworkDataUpdateRouter(void)
|
||||
Ip6::Address destination;
|
||||
uint16_t delay;
|
||||
|
||||
VerifyOrExit(mDeviceState == kDeviceStateRouter || mDeviceState == kDeviceStateLeader, ;);
|
||||
VerifyOrExit(mDeviceState == kDeviceStateRouter || mDeviceState == kDeviceStateLeader);
|
||||
|
||||
memset(&destination, 0, sizeof(destination));
|
||||
destination.mFields.m16[0] = HostSwap16(0xff02);
|
||||
@@ -2453,7 +2453,7 @@ ThreadError MleRouter::HandleDiscoveryRequest(const Message &aMessage, const Ip6
|
||||
otLogInfoMle(GetInstance(), "Received discovery request");
|
||||
|
||||
// only Routers and REEDs respond
|
||||
VerifyOrExit((mDeviceMode & ModeTlv::kModeFFD) != 0, ;);
|
||||
VerifyOrExit((mDeviceMode & ModeTlv::kModeFFD) != 0);
|
||||
|
||||
offset = aMessage.GetOffset();
|
||||
end = aMessage.GetLength();
|
||||
@@ -2526,7 +2526,7 @@ ThreadError MleRouter::SendDiscoveryResponse(const Ip6::Address &aDestination, u
|
||||
MeshCoP::Tlv *steeringData;
|
||||
uint16_t delay;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
message->SetSubType(Message::kSubTypeMleDiscoverResponse);
|
||||
message->SetPanId(aPanId);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandDiscoveryResponse));
|
||||
@@ -2600,7 +2600,7 @@ ThreadError MleRouter::SendChildIdResponse(Child *aChild)
|
||||
Ip6::Address destination;
|
||||
Message *message;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandChildIdResponse));
|
||||
SuccessOrExit(error = AppendSourceAddress(*message));
|
||||
SuccessOrExit(error = AppendLeaderData(*message));
|
||||
@@ -2688,7 +2688,7 @@ ThreadError MleRouter::SendChildUpdateRequest(Child *aChild)
|
||||
Ip6::Address destination;
|
||||
Message *message;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandChildUpdateRequest));
|
||||
SuccessOrExit(error = AppendSourceAddress(*message));
|
||||
SuccessOrExit(error = AppendLeaderData(*message));
|
||||
@@ -2729,7 +2729,7 @@ ThreadError MleRouter::SendChildUpdateResponse(Child *aChild, const Ip6::Message
|
||||
ThreadError error = kThreadError_None;
|
||||
Message *message;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandChildUpdateResponse));
|
||||
|
||||
for (int i = 0; i < aTlvslength; i++)
|
||||
@@ -2802,7 +2802,7 @@ ThreadError MleRouter::SendDataResponse(const Ip6::Address &aDestination, const
|
||||
Neighbor *neighbor;
|
||||
bool stableOnly;
|
||||
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL, ;);
|
||||
VerifyOrExit((message = NewMleMessage()) != NULL);
|
||||
SuccessOrExit(error = AppendHeader(*message, Header::kCommandDataResponse));
|
||||
SuccessOrExit(error = AppendSourceAddress(*message));
|
||||
SuccessOrExit(error = AppendLeaderData(*message));
|
||||
@@ -3211,7 +3211,7 @@ uint16_t MleRouter::GetNextHop(uint16_t aDestination)
|
||||
}
|
||||
|
||||
router = GetRouter(destinationId);
|
||||
VerifyOrExit(router != NULL,);
|
||||
VerifyOrExit(router != NULL);
|
||||
|
||||
linkCost = GetLinkCost(destinationId);
|
||||
routeCost = GetRouteCost(aDestination);
|
||||
@@ -3219,7 +3219,7 @@ uint16_t MleRouter::GetNextHop(uint16_t aDestination)
|
||||
if ((routeCost + GetLinkCost(router->mNextHop)) < linkCost)
|
||||
{
|
||||
nextHop = GetRouter(router->mNextHop);
|
||||
VerifyOrExit(nextHop != NULL && nextHop->mState != Neighbor::kStateInvalid,);
|
||||
VerifyOrExit(nextHop != NULL && nextHop->mState != Neighbor::kStateInvalid);
|
||||
|
||||
rval = GetRloc16(router->mNextHop);
|
||||
}
|
||||
@@ -3238,7 +3238,7 @@ uint8_t MleRouter::GetRouteCost(uint16_t aRloc16) const
|
||||
const Router *router;
|
||||
|
||||
router = GetRouter(GetRouterId(aRloc16));
|
||||
VerifyOrExit(router != NULL && GetRouter(router->mNextHop) != NULL,);
|
||||
VerifyOrExit(router != NULL && GetRouter(router->mNextHop) != NULL);
|
||||
|
||||
rval = router->mCost;
|
||||
|
||||
@@ -3281,7 +3281,7 @@ Router *MleRouter::GetRouter(uint8_t aRouterId)
|
||||
{
|
||||
Router *rval = NULL;
|
||||
|
||||
VerifyOrExit(aRouterId <= kMaxRouterId,);
|
||||
VerifyOrExit(aRouterId <= kMaxRouterId);
|
||||
|
||||
rval = &mRouters[aRouterId];
|
||||
|
||||
@@ -3293,7 +3293,7 @@ const Router *MleRouter::GetRouter(uint8_t aRouterId) const
|
||||
{
|
||||
const Router *rval = NULL;
|
||||
|
||||
VerifyOrExit(aRouterId <= kMaxRouterId,);
|
||||
VerifyOrExit(aRouterId <= kMaxRouterId);
|
||||
|
||||
rval = &mRouters[aRouterId];
|
||||
|
||||
@@ -3374,7 +3374,7 @@ ThreadError MleRouter::RemoveStoredChild(uint16_t aChildRloc16)
|
||||
|
||||
SuccessOrExit(otPlatSettingsGet(mNetif.GetInstance(), kKeyChildInfo, i,
|
||||
reinterpret_cast<uint8_t *>(&childInfo), &length));
|
||||
VerifyOrExit(length == sizeof(childInfo), ;);
|
||||
VerifyOrExit(length == sizeof(childInfo));
|
||||
|
||||
if (childInfo.mRloc16 == aChildRloc16)
|
||||
{
|
||||
@@ -3722,14 +3722,14 @@ void MleRouter::HandleAddressSolicitResponse(Coap::Header *aHeader, Message *aMe
|
||||
Router *router;
|
||||
bool old;
|
||||
|
||||
VerifyOrExit(aResult == kThreadError_None && aHeader != NULL && aMessage != NULL, ;);
|
||||
VerifyOrExit(aResult == kThreadError_None && aHeader != NULL && aMessage != NULL);
|
||||
|
||||
VerifyOrExit(aHeader->GetCode() == kCoapResponseChanged, ;);
|
||||
VerifyOrExit(aHeader->GetCode() == kCoapResponseChanged);
|
||||
|
||||
otLogInfoMle(GetInstance(), "Received address reply");
|
||||
|
||||
SuccessOrExit(ThreadTlv::GetTlv(*aMessage, ThreadTlv::kStatus, sizeof(statusTlv), statusTlv));
|
||||
VerifyOrExit(statusTlv.IsValid(), ;);
|
||||
VerifyOrExit(statusTlv.IsValid());
|
||||
|
||||
if (statusTlv.GetStatus() != statusTlv.kSuccess)
|
||||
{
|
||||
@@ -3747,13 +3747,13 @@ void MleRouter::HandleAddressSolicitResponse(Coap::Header *aHeader, Message *aMe
|
||||
}
|
||||
|
||||
SuccessOrExit(ThreadTlv::GetTlv(*aMessage, ThreadTlv::kRloc16, sizeof(rlocTlv), rlocTlv));
|
||||
VerifyOrExit(rlocTlv.IsValid(), ;);
|
||||
VerifyOrExit(rlocTlv.IsValid());
|
||||
routerId = GetRouterId(rlocTlv.GetRloc16());
|
||||
router = GetRouter(routerId);
|
||||
VerifyOrExit(router != NULL,);
|
||||
VerifyOrExit(router != NULL);
|
||||
|
||||
SuccessOrExit(ThreadTlv::GetTlv(*aMessage, ThreadTlv::kRouterMask, sizeof(routerMaskTlv), routerMaskTlv));
|
||||
VerifyOrExit(routerMaskTlv.IsValid(), ;);
|
||||
VerifyOrExit(routerMaskTlv.IsValid());
|
||||
|
||||
// if allocated routerId is different from previous routerId
|
||||
if (IsRouterIdValid(mPreviousRouterId) && routerId != mPreviousRouterId)
|
||||
@@ -3870,7 +3870,7 @@ void MleRouter::HandleAddressSolicit(Coap::Header &aHeader, Message &aMessage, c
|
||||
switch (statusTlv.GetStatus())
|
||||
{
|
||||
case ThreadStatusTlv::kTooFewRouters:
|
||||
VerifyOrExit(GetActiveRouterCount() < mRouterUpgradeThreshold, ;);
|
||||
VerifyOrExit(GetActiveRouterCount() < mRouterUpgradeThreshold);
|
||||
break;
|
||||
|
||||
case ThreadStatusTlv::kHaveChildIdRequest:
|
||||
@@ -4008,21 +4008,21 @@ void MleRouter::HandleAddressRelease(Coap::Header &aHeader, Message &aMessage,
|
||||
Router *router;
|
||||
|
||||
VerifyOrExit(aHeader.GetType() == kCoapTypeConfirmable &&
|
||||
aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
otLogInfoMle(GetInstance(), "Received address release");
|
||||
|
||||
SuccessOrExit(ThreadTlv::GetTlv(aMessage, ThreadTlv::kRloc16, sizeof(rlocTlv), rlocTlv));
|
||||
VerifyOrExit(rlocTlv.IsValid(),);
|
||||
VerifyOrExit(rlocTlv.IsValid());
|
||||
|
||||
SuccessOrExit(ThreadTlv::GetTlv(aMessage, ThreadTlv::kExtMacAddress, sizeof(macAddr64Tlv), macAddr64Tlv));
|
||||
VerifyOrExit(macAddr64Tlv.IsValid(),);
|
||||
VerifyOrExit(macAddr64Tlv.IsValid());
|
||||
|
||||
routerId = GetRouterId(rlocTlv.GetRloc16());
|
||||
router = GetRouter(routerId);
|
||||
|
||||
VerifyOrExit(router != NULL &&
|
||||
memcmp(&router->mMacAddr, macAddr64Tlv.GetMacAddr(), sizeof(router->mMacAddr)) == 0,);
|
||||
memcmp(&router->mMacAddr, macAddr64Tlv.GetMacAddr(), sizeof(router->mMacAddr)) == 0);
|
||||
|
||||
ReleaseRouterId(routerId);
|
||||
|
||||
@@ -4289,7 +4289,7 @@ ThreadError MleRouter::AppendActiveDataset(Message &aMessage)
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
|
||||
VerifyOrExit(mNetif.GetActiveDataset().GetNetwork().GetSize() > 0,);
|
||||
VerifyOrExit(mNetif.GetActiveDataset().GetNetwork().GetSize() > 0);
|
||||
|
||||
SuccessOrExit(error = mNetif.GetActiveDataset().GetNetwork().AppendMleDatasetTlv(aMessage));
|
||||
|
||||
@@ -4301,7 +4301,7 @@ ThreadError MleRouter::AppendPendingDataset(Message &aMessage)
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
|
||||
VerifyOrExit(mNetif.GetPendingDataset().GetNetwork().GetSize() > 0,);
|
||||
VerifyOrExit(mNetif.GetPendingDataset().GetNetwork().GetSize() > 0);
|
||||
|
||||
mNetif.GetPendingDataset().UpdateDelayTimer();
|
||||
SuccessOrExit(error = mNetif.GetPendingDataset().GetNetwork().AppendMleDatasetTlv(aMessage));
|
||||
@@ -4386,7 +4386,7 @@ exit:
|
||||
|
||||
void MleRouter::SetChildStateToValid(Child *aChild)
|
||||
{
|
||||
VerifyOrExit(aChild->mState != Neighbor::kStateValid, ;);
|
||||
VerifyOrExit(aChild->mState != Neighbor::kStateValid);
|
||||
|
||||
aChild->mState = Neighbor::kStateValid;
|
||||
mNetif.SetStateChangedFlags(OT_THREAD_CHILD_ADDED);
|
||||
@@ -4441,7 +4441,7 @@ bool MleRouter::HasSmallNumberOfChildren(void)
|
||||
uint8_t numChildren = 0;
|
||||
uint8_t routerCount = GetActiveRouterCount();
|
||||
|
||||
VerifyOrExit(routerCount > mRouterDowngradeThreshold, ;);
|
||||
VerifyOrExit(routerCount > mRouterDowngradeThreshold);
|
||||
|
||||
for (uint8_t i = 0; i < mMaxChildrenAllowed; i++)
|
||||
{
|
||||
|
||||
@@ -471,7 +471,7 @@ MeshCoP::Tlv *LeaderBase::GetCommissioningDataSubTlv(MeshCoP::Tlv::Type aType)
|
||||
MeshCoP::Tlv *end;
|
||||
|
||||
commissioningDataTlv = GetCommissioningData();
|
||||
VerifyOrExit(commissioningDataTlv != NULL,);
|
||||
VerifyOrExit(commissioningDataTlv != NULL);
|
||||
|
||||
cur = reinterpret_cast<MeshCoP::Tlv *>(commissioningDataTlv->GetValue());
|
||||
end = reinterpret_cast<MeshCoP::Tlv *>(commissioningDataTlv->GetValue() + commissioningDataTlv->GetLength());
|
||||
|
||||
@@ -122,7 +122,7 @@ void Leader::RemoveBorderRouter(uint16_t aRloc16)
|
||||
bool rlocStable = false;
|
||||
RlocLookup(aRloc16, rlocIn, rlocStable, mTlvs, mLength);
|
||||
|
||||
VerifyOrExit(rlocIn, ;);
|
||||
VerifyOrExit(rlocIn);
|
||||
|
||||
RemoveRloc(aRloc16);
|
||||
mVersion++;
|
||||
@@ -156,7 +156,7 @@ void Leader::HandleServerData(Coap::Header &aHeader, Message &aMessage,
|
||||
|
||||
if (ThreadTlv::GetTlv(aMessage, ThreadTlv::kRloc16, sizeof(rloc16), rloc16) == kThreadError_None)
|
||||
{
|
||||
VerifyOrExit(rloc16.IsValid(), ;);
|
||||
VerifyOrExit(rloc16.IsValid());
|
||||
RemoveBorderRouter(rloc16.GetRloc16());
|
||||
}
|
||||
|
||||
|
||||
@@ -147,8 +147,8 @@ void NetworkDiagnostic::HandleDiagnosticGetResponse(Coap::Header &aHeader, Messa
|
||||
const Ip6::MessageInfo &aMessageInfo,
|
||||
ThreadError aResult)
|
||||
{
|
||||
VerifyOrExit(aResult == kThreadError_None, ;);
|
||||
VerifyOrExit(aHeader.GetCode() == kCoapResponseChanged, ;);
|
||||
VerifyOrExit(aResult == kThreadError_None);
|
||||
VerifyOrExit(aHeader.GetCode() == kCoapResponseChanged);
|
||||
|
||||
otLogInfoNetDiag(GetInstance(), "Received diagnostic get response");
|
||||
|
||||
@@ -173,7 +173,7 @@ void NetworkDiagnostic::HandleDiagnosticGetAnswer(Coap::Header &aHeader, Message
|
||||
const Ip6::MessageInfo &aMessageInfo)
|
||||
{
|
||||
VerifyOrExit(aHeader.GetType() == kCoapTypeConfirmable &&
|
||||
aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
otLogInfoNetDiag(GetInstance(), "Diagnostic get answer received");
|
||||
|
||||
@@ -599,20 +599,20 @@ void NetworkDiagnostic::HandleDiagnosticReset(Coap::Header &aHeader, Message &aM
|
||||
otLogInfoNetDiag(GetInstance(), "Received diagnostic reset request");
|
||||
|
||||
VerifyOrExit(aHeader.GetType() == kCoapTypeConfirmable &&
|
||||
aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
VerifyOrExit((aMessage.Read(aMessage.GetOffset(), sizeof(NetworkDiagnosticTlv),
|
||||
&networkDiagnosticTlv) == sizeof(NetworkDiagnosticTlv)), ;);
|
||||
&networkDiagnosticTlv) == sizeof(NetworkDiagnosticTlv)));
|
||||
|
||||
VerifyOrExit(networkDiagnosticTlv.GetType() == NetworkDiagnosticTlv::kTypeList, ;);
|
||||
VerifyOrExit(networkDiagnosticTlv.GetType() == NetworkDiagnosticTlv::kTypeList);
|
||||
|
||||
VerifyOrExit((static_cast<TypeListTlv *>(&networkDiagnosticTlv)->IsValid()), ;);
|
||||
VerifyOrExit((static_cast<TypeListTlv *>(&networkDiagnosticTlv)->IsValid()));
|
||||
|
||||
offset = aMessage.GetOffset() + sizeof(NetworkDiagnosticTlv);
|
||||
|
||||
for (uint8_t i = 0; i < networkDiagnosticTlv.GetLength(); i++)
|
||||
{
|
||||
VerifyOrExit(aMessage.Read(offset, sizeof(type), &type) == sizeof(type), ;);
|
||||
VerifyOrExit(aMessage.Read(offset, sizeof(type), &type) == sizeof(type));
|
||||
|
||||
switch (type)
|
||||
{
|
||||
|
||||
@@ -75,13 +75,13 @@ void PanIdQueryServer::HandleQuery(Coap::Header &aHeader, Message &aMessage, con
|
||||
MeshCoP::ChannelMask0Tlv channelMask;
|
||||
Ip6::MessageInfo responseInfo(aMessageInfo);
|
||||
|
||||
VerifyOrExit(aHeader.GetCode() == kCoapRequestPost, ;);
|
||||
VerifyOrExit(aHeader.GetCode() == kCoapRequestPost);
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kChannelMask, sizeof(channelMask), channelMask));
|
||||
VerifyOrExit(channelMask.IsValid(),);
|
||||
VerifyOrExit(channelMask.IsValid());
|
||||
|
||||
SuccessOrExit(MeshCoP::Tlv::GetTlv(aMessage, MeshCoP::Tlv::kPanId, sizeof(panId), panId));
|
||||
VerifyOrExit(panId.IsValid(), ;);
|
||||
VerifyOrExit(panId.IsValid());
|
||||
|
||||
mChannelMask = channelMask.GetMask();
|
||||
mCommissioner = aMessageInfo.GetPeerAddr();
|
||||
|
||||
@@ -145,7 +145,7 @@ void JamDetector::HandleTimer(void)
|
||||
int8_t rssi;
|
||||
bool didExceedThreshold = true;
|
||||
|
||||
VerifyOrExit(mEnabled, ;);
|
||||
VerifyOrExit(mEnabled);
|
||||
|
||||
rssi = otPlatRadioGetRssi(mNetif.GetInstance());
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@ ThreadError SemanticallyOpaqueIidGenerator::CreateIid(otInstance *aInstance, otN
|
||||
for (uint32_t i = 0; i <= kMaxRetries; i++)
|
||||
{
|
||||
error = CreateIidOnce(aInstance, aAddress);
|
||||
VerifyOrExit(error == kThreadError_Ipv6AddressCreationFailure,);
|
||||
VerifyOrExit(error == kThreadError_Ipv6AddressCreationFailure);
|
||||
|
||||
mDadCounter++;
|
||||
}
|
||||
|
||||
@@ -6542,7 +6542,7 @@ void NcpBase::RegisterLegacyHandlers(const otNcpLegacyHandlers *aHandlers)
|
||||
mLegacyHandlers = aHandlers;
|
||||
bool isEnabled;
|
||||
|
||||
VerifyOrExit(mLegacyHandlers != NULL, ;);
|
||||
VerifyOrExit(mLegacyHandlers != NULL);
|
||||
|
||||
isEnabled = (otThreadGetDeviceRole(mInstance) != kDeviceRoleDisabled);
|
||||
|
||||
|
||||
@@ -190,7 +190,7 @@ ThreadError NcpFrameBuffer::InFrameBeginSegment(void)
|
||||
uint16_t headerFlags = kSegmentHeaderNoFlag;
|
||||
|
||||
// Verify that segment is not yet started (i.e., head and tail are the same).
|
||||
VerifyOrExit(mWriteSegmentHead == mWriteSegmentTail, ;);
|
||||
VerifyOrExit(mWriteSegmentHead == mWriteSegmentTail);
|
||||
|
||||
// If this is the start of a new frame (i.e., frame start is same as segment head)
|
||||
if (mWriteFrameStart == mWriteSegmentHead)
|
||||
|
||||
+1
-1
@@ -257,7 +257,7 @@ ThreadError NcpSpi::PrepareNextSpiSendFrame(void)
|
||||
uint16_t frameLength;
|
||||
uint16_t readLength;
|
||||
|
||||
VerifyOrExit(!mTxFrameBuffer.IsEmpty(), ;);
|
||||
VerifyOrExit(!mTxFrameBuffer.IsEmpty());
|
||||
|
||||
SuccessOrExit(errorCode = mTxFrameBuffer.OutFrameBegin());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user