From 49f36f8c24743184431d7b19391d9eeafd14f119 Mon Sep 17 00:00:00 2001 From: kangping Date: Thu, 7 May 2020 02:17:58 +0800 Subject: [PATCH] [error] force error checking (#4784) --- include/openthread/error.h | 2 +- include/openthread/platform/toolchain.h | 18 ++ src/cli/cli.cpp | 6 +- src/cli/cli_coap.cpp | 2 +- src/cli/cli_coap_secure.cpp | 2 +- src/cli/cli_commissioner.cpp | 2 +- src/cli/cli_joiner.cpp | 2 +- src/cli/cli_uart.cpp | 6 +- src/cli/cli_udp.cpp | 2 +- src/core/api/border_router_api.cpp | 4 +- src/core/api/coap_api.cpp | 2 +- src/core/api/thread_ftd_api.cpp | 2 +- src/core/backbone_router/leader.cpp | 2 +- src/core/backbone_router/local.cpp | 26 +-- src/core/coap/coap.cpp | 26 +-- src/core/coap/coap_message.cpp | 10 +- src/core/coap/coap_secure.cpp | 8 +- src/core/common/code_utils.hpp | 16 ++ src/core/common/instance.cpp | 10 +- src/core/common/message.cpp | 10 +- src/core/common/message.hpp | 2 +- src/core/common/notifier.cpp | 4 +- src/core/common/string.hpp | 2 +- src/core/common/timer.cpp | 2 +- src/core/diags/factory_diags.cpp | 8 +- src/core/mac/channel_mask.cpp | 8 +- src/core/mac/data_poll_handler.cpp | 8 +- src/core/mac/data_poll_sender.cpp | 10 +- src/core/mac/link_raw.cpp | 2 +- src/core/mac/mac.cpp | 58 ++--- src/core/mac/mac_frame.cpp | 27 +-- src/core/mac/mac_types.cpp | 2 +- src/core/mac/sub_mac.cpp | 8 +- src/core/meshcop/border_agent.cpp | 43 ++-- src/core/meshcop/border_agent.hpp | 4 +- src/core/meshcop/commissioner.cpp | 51 ++--- src/core/meshcop/dataset.cpp | 37 ++-- src/core/meshcop/dataset_local.cpp | 4 +- src/core/meshcop/dataset_manager.cpp | 42 ++-- src/core/meshcop/dataset_manager.hpp | 2 +- src/core/meshcop/dataset_manager_ftd.cpp | 49 +++-- src/core/meshcop/dtls.cpp | 10 +- src/core/meshcop/energy_scan_client.cpp | 2 +- src/core/meshcop/joiner.cpp | 10 +- src/core/meshcop/joiner_router.cpp | 22 +- src/core/meshcop/meshcop_leader.cpp | 12 +- src/core/meshcop/panid_query_client.cpp | 2 +- src/core/net/dhcp6_client.cpp | 20 +- src/core/net/dhcp6_server.cpp | 16 +- src/core/net/dns_client.cpp | 12 +- src/core/net/icmp6.cpp | 4 +- src/core/net/ip6.cpp | 40 ++-- src/core/net/ip6_mpl.cpp | 4 +- src/core/net/netif.cpp | 4 +- src/core/net/sntp_client.cpp | 10 +- src/core/net/udp6.cpp | 6 +- src/core/thread/address_resolver.cpp | 17 +- src/core/thread/announce_begin_server.cpp | 4 +- src/core/thread/announce_sender.cpp | 4 +- src/core/thread/energy_scan_server.cpp | 6 +- src/core/thread/indirect_sender.cpp | 14 +- src/core/thread/key_manager.cpp | 8 +- src/core/thread/link_quality.cpp | 2 +- src/core/thread/lowpan.cpp | 44 ++-- src/core/thread/mesh_forwarder.cpp | 58 ++--- src/core/thread/mesh_forwarder_ftd.cpp | 41 ++-- src/core/thread/mesh_forwarder_mtd.cpp | 4 +- src/core/thread/mle.cpp | 230 ++++++++++---------- src/core/thread/mle_router.cpp | 94 ++++---- src/core/thread/mle_router.hpp | 2 +- src/core/thread/network_data.cpp | 2 +- src/core/thread/network_data_leader.cpp | 2 +- src/core/thread/network_data_leader_ftd.cpp | 15 +- src/core/thread/network_data_local.cpp | 4 +- src/core/thread/network_diagnostic.cpp | 15 +- src/core/thread/panid_query_server.cpp | 6 +- src/core/thread/thread_netif.cpp | 26 +-- src/core/thread/topology.cpp | 5 +- src/core/utils/channel_manager.cpp | 4 +- src/core/utils/channel_monitor.cpp | 5 +- src/core/utils/child_supervision.cpp | 2 +- src/core/utils/slaac_address.cpp | 10 +- src/lib/hdlc/hdlc.cpp | 8 +- src/lib/hdlc/hdlc.hpp | 6 +- src/lib/spinel/spinel_buffer.cpp | 16 +- src/ncp/ncp_base.cpp | 32 +-- src/ncp/ncp_base_ftd.cpp | 6 +- src/ncp/ncp_base_mtd.cpp | 77 +++---- src/ncp/ncp_base_radio.cpp | 4 +- src/ncp/ncp_uart.cpp | 14 +- src/posix/main.c | 3 +- src/posix/platform/spi_interface.cpp | 6 +- tests/fuzz/cli_uart_received.cpp | 8 +- tests/fuzz/ip6_send.cpp | 8 +- tests/fuzz/ncp_uart_received.cpp | 8 +- tests/fuzz/radio_receive_done.cpp | 8 +- 96 files changed, 792 insertions(+), 741 deletions(-) diff --git a/include/openthread/error.h b/include/openthread/error.h index 594c7b030..e57102685 100644 --- a/include/openthread/error.h +++ b/include/openthread/error.h @@ -55,7 +55,7 @@ extern "C" { * This enumeration represents error codes used throughout OpenThread. * */ -typedef enum otError +typedef enum OT_MUST_USE_RESULT otError { /** * No error. diff --git a/include/openthread/platform/toolchain.h b/include/openthread/platform/toolchain.h index 7eea6a611..86c1efd65 100644 --- a/include/openthread/platform/toolchain.h +++ b/include/openthread/platform/toolchain.h @@ -63,6 +63,24 @@ extern "C" { #endif +/** + * @def OT_MUST_USE_RESULT + * + * Compiler-specific indication that a class or enum must be used when it is + * the return value of a function. + * + * @note This is currently only available with clang (C++17 implements it + * as attribute [[nodiscard]]). + * @note To suppress the 'unused-result' warning/error, please use the + * '-Wno-unused-result' compiler option. + * + */ +#if defined(__clang__) +#define OT_MUST_USE_RESULT __attribute__((warn_unused_result)) +#else +#define OT_MUST_USE_RESULT +#endif + /** * @def OT_TOOL_PACKED_BEGIN * diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp index 2196c8827..a3de97554 100644 --- a/src/cli/cli.cpp +++ b/src/cli/cli.cpp @@ -276,7 +276,7 @@ Interpreter::Interpreter(Instance *aInstance) mIcmpHandler.mReceiveCallback = Interpreter::HandleIcmpReceive; mIcmpHandler.mContext = this; - otIcmp6RegisterHandler(mInstance, &mIcmpHandler); + IgnoreError(otIcmp6RegisterHandler(mInstance, &mIcmpHandler)); #if OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE memset(mResolvingHostname, 0, sizeof(mResolvingHostname)); @@ -3978,12 +3978,12 @@ void Interpreter::ProcessNetworkDiagnostic(uint8_t aArgsLength, char *aArgs[]) if (strcmp(aArgs[0], "get") == 0) { - otThreadSendDiagnosticGet(mInstance, &address, tlvTypes, count); + IgnoreError(otThreadSendDiagnosticGet(mInstance, &address, tlvTypes, count)); ExitNow(); } else if (strcmp(aArgs[0], "reset") == 0) { - otThreadSendDiagnosticReset(mInstance, &address, tlvTypes, count); + IgnoreError(otThreadSendDiagnosticReset(mInstance, &address, tlvTypes, count)); AppendResult(OT_ERROR_NONE); } else diff --git a/src/cli/cli_coap.cpp b/src/cli/cli_coap.cpp index 7c9c0a7fe..628ce217c 100644 --- a/src/cli/cli_coap.cpp +++ b/src/cli/cli_coap.cpp @@ -516,7 +516,7 @@ otError Coap::Process(uint8_t aArgsLength, char *aArgs[]) if (aArgsLength < 1) { - ProcessHelp(0, NULL); + IgnoreError(ProcessHelp(0, NULL)); error = OT_ERROR_INVALID_ARGS; } else diff --git a/src/cli/cli_coap_secure.cpp b/src/cli/cli_coap_secure.cpp index 17cf24b23..fa7c3e648 100644 --- a/src/cli/cli_coap_secure.cpp +++ b/src/cli/cli_coap_secure.cpp @@ -393,7 +393,7 @@ otError CoapSecure::Process(uint8_t aArgsLength, char *aArgs[]) if (aArgsLength < 1) { - ProcessHelp(0, NULL); + IgnoreError(ProcessHelp(0, NULL)); error = OT_ERROR_INVALID_ARGS; } else diff --git a/src/cli/cli_commissioner.cpp b/src/cli/cli_commissioner.cpp index 065c62066..226b7ef78 100644 --- a/src/cli/cli_commissioner.cpp +++ b/src/cli/cli_commissioner.cpp @@ -392,7 +392,7 @@ otError Commissioner::Process(uint8_t aArgsLength, char *aArgs[]) if (aArgsLength < 1) { - ProcessHelp(0, NULL); + IgnoreError(ProcessHelp(0, NULL)); } else { diff --git a/src/cli/cli_joiner.cpp b/src/cli/cli_joiner.cpp index ff6e52b8f..f37ed928d 100644 --- a/src/cli/cli_joiner.cpp +++ b/src/cli/cli_joiner.cpp @@ -111,7 +111,7 @@ otError Joiner::Process(uint8_t aArgsLength, char *aArgs[]) if (aArgsLength < 1) { - ProcessHelp(0, NULL); + IgnoreError(ProcessHelp(0, NULL)); } else { diff --git a/src/cli/cli_uart.cpp b/src/cli/cli_uart.cpp index 875665715..a1a4d9327 100644 --- a/src/cli/cli_uart.cpp +++ b/src/cli/cli_uart.cpp @@ -119,7 +119,7 @@ Uart::Uart(Instance *aInstance) mTxLength = 0; mSendLength = 0; - otPlatUartEnable(); + IgnoreError(otPlatUartEnable()); } extern "C" void otPlatUartReceived(const uint8_t *aBuf, uint16_t aBufLength) @@ -150,7 +150,7 @@ void Uart::ReceiveTask(const uint8_t *aBuf, uint16_t aBufLength) if (mRxLength > 0) { mRxBuffer[mRxLength] = '\0'; - ProcessCommand(); + IgnoreError(ProcessCommand()); } Output(sCommandPrompt, sizeof(sCommandPrompt)); @@ -311,7 +311,7 @@ void Uart::Send(void) /* duplicate the output to the debug uart */ otPlatDebugUart_write_bytes(reinterpret_cast(mTxBuffer + mTxHead), mSendLength); #endif - otPlatUartSend(reinterpret_cast(mTxBuffer + mTxHead), mSendLength); + IgnoreError(otPlatUartSend(reinterpret_cast(mTxBuffer + mTxHead), mSendLength)); } exit: diff --git a/src/cli/cli_udp.cpp b/src/cli/cli_udp.cpp index 8c86c09c4..292242001 100644 --- a/src/cli/cli_udp.cpp +++ b/src/cli/cli_udp.cpp @@ -264,7 +264,7 @@ otError UdpExample::Process(uint8_t aArgsLength, char *aArgs[]) if (aArgsLength < 1) { - ProcessHelp(0, NULL); + IgnoreError(ProcessHelp(0, NULL)); error = OT_ERROR_INVALID_ARGS; } else diff --git a/src/core/api/border_router_api.cpp b/src/core/api/border_router_api.cpp index 4138d5871..4832183a3 100644 --- a/src/core/api/border_router_api.cpp +++ b/src/core/api/border_router_api.cpp @@ -69,8 +69,8 @@ otError otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRoute if (error == OT_ERROR_NONE && aConfig->mDp) { // Restore local server data - instance.Get().RemoveOnMeshPrefix(aConfig->mPrefix.mPrefix.mFields.m8, - aConfig->mPrefix.mLength); + IgnoreError(instance.Get().RemoveOnMeshPrefix(aConfig->mPrefix.mPrefix.mFields.m8, + aConfig->mPrefix.mLength)); instance.Get().SetDomainPrefix(*aConfig); } diff --git a/src/core/api/coap_api.cpp b/src/core/api/coap_api.cpp index 3900b22b1..dc963596b 100644 --- a/src/core/api/coap_api.cpp +++ b/src/core/api/coap_api.cpp @@ -82,7 +82,7 @@ otError otCoapMessageSetToken(otMessage *aMessage, const uint8_t *aToken, uint8_ void otCoapMessageGenerateToken(otMessage *aMessage, uint8_t aTokenLength) { - static_cast(aMessage)->SetToken(aTokenLength); + IgnoreError(static_cast(aMessage)->SetToken(aTokenLength)); } otError otCoapMessageAppendContentFormatOption(otMessage *aMessage, otCoapOptionContentFormat aContentFormat) diff --git a/src/core/api/thread_ftd_api.cpp b/src/core/api/thread_ftd_api.cpp index 94d64ea53..0440d68c2 100644 --- a/src/core/api/thread_ftd_api.cpp +++ b/src/core/api/thread_ftd_api.cpp @@ -250,7 +250,7 @@ void otThreadSetRouterSelectionJitter(otInstance *aInstance, uint8_t aRouterJitt { Instance &instance = *static_cast(aInstance); - instance.Get().SetRouterSelectionJitter(aRouterJitter); + IgnoreError(instance.Get().SetRouterSelectionJitter(aRouterJitter)); } otError otThreadGetChildInfoById(otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo) diff --git a/src/core/backbone_router/leader.cpp b/src/core/backbone_router/leader.cpp index c2a5cf49d..353f6f549 100644 --- a/src/core/backbone_router/leader.cpp +++ b/src/core/backbone_router/leader.cpp @@ -184,7 +184,7 @@ void Leader::UpdateBackboneRouterPrimary(void) BackboneRouterConfig config; State state; - Get().GetBackboneRouterPrimary(config); + IgnoreError(Get().GetBackboneRouterPrimary(config)); if (config.mServer16 != mConfig.mServer16) { diff --git a/src/core/backbone_router/local.cpp b/src/core/backbone_router/local.cpp index a5402d152..ce398a824 100644 --- a/src/core/backbone_router/local.cpp +++ b/src/core/backbone_router/local.cpp @@ -93,12 +93,12 @@ void Local::SetEnabled(bool aEnable) { SetState(OT_BACKBONE_ROUTER_STATE_SECONDARY); AddDomainPrefixToNetworkData(); - AddService(); + IgnoreError(AddService()); } else { RemoveDomainPrefixFromNetworkData(); - RemoveService(); + IgnoreError(RemoveService()); SetState(OT_BACKBONE_ROUTER_STATE_DISABLED); } @@ -224,22 +224,22 @@ void Local::SetState(BackboneRouterState aState) { // Subscribe All Network Backbone Routers Multicast Address for both Secondary and Primary state. mAllNetworkBackboneRouters.GetAddress().SetMulticastNetworkPrefix(Get().GetMeshLocalPrefix()); - Get().SubscribeMulticast(mAllNetworkBackboneRouters); + IgnoreError(Get().SubscribeMulticast(mAllNetworkBackboneRouters)); } else if (aState == OT_BACKBONE_ROUTER_STATE_DISABLED) { - Get().UnsubscribeMulticast(mAllNetworkBackboneRouters); + IgnoreError(Get().UnsubscribeMulticast(mAllNetworkBackboneRouters)); } if (mState == OT_BACKBONE_ROUTER_STATE_PRIMARY) { - Get().RemoveUnicastAddress(mBackboneRouterPrimaryAloc); + IgnoreError(Get().RemoveUnicastAddress(mBackboneRouterPrimaryAloc)); } else if (aState == OT_BACKBONE_ROUTER_STATE_PRIMARY) { // Add Primary Backbone Router Aloc for Primary Backbone Router. mBackboneRouterPrimaryAloc.GetAddress().SetPrefix(Get().GetMeshLocalPrefix()); - Get().AddUnicastAddress(mBackboneRouterPrimaryAloc); + IgnoreError(Get().AddUnicastAddress(mBackboneRouterPrimaryAloc)); } mState = aState; @@ -351,15 +351,15 @@ void Local::ApplyMeshLocalPrefix(void) { VerifyOrExit(IsEnabled(), OT_NOOP); - Get().UnsubscribeMulticast(mAllNetworkBackboneRouters); + IgnoreError(Get().UnsubscribeMulticast(mAllNetworkBackboneRouters)); mAllNetworkBackboneRouters.GetAddress().SetMulticastNetworkPrefix(Get().GetMeshLocalPrefix()); - Get().SubscribeMulticast(mAllNetworkBackboneRouters); + IgnoreError(Get().SubscribeMulticast(mAllNetworkBackboneRouters)); if (IsPrimary()) { - Get().RemoveUnicastAddress(mBackboneRouterPrimaryAloc); + IgnoreError(Get().RemoveUnicastAddress(mBackboneRouterPrimaryAloc)); mBackboneRouterPrimaryAloc.GetAddress().SetPrefix(Get().GetMeshLocalPrefix()); - Get().AddUnicastAddress(mBackboneRouterPrimaryAloc); + IgnoreError(Get().AddUnicastAddress(mBackboneRouterPrimaryAloc)); } exit: @@ -370,19 +370,19 @@ void Local::UpdateAllDomainBackboneRouters(Leader::DomainPrefixState aState) { if (!IsEnabled()) { - Get().UnsubscribeMulticast(mAllDomainBackboneRouters); + IgnoreError(Get().UnsubscribeMulticast(mAllDomainBackboneRouters)); ExitNow(); } if (aState == Leader::kDomainPrefixRemoved || aState == Leader::kDomainPrefixRefreshed) { - Get().UnsubscribeMulticast(mAllDomainBackboneRouters); + IgnoreError(Get().UnsubscribeMulticast(mAllDomainBackboneRouters)); } if (aState == Leader::kDomainPrefixAdded || aState == Leader::kDomainPrefixRefreshed) { mAllDomainBackboneRouters.GetAddress().SetMulticastNetworkPrefix(*Get().GetDomainPrefix()); - Get().SubscribeMulticast(mAllDomainBackboneRouters); + IgnoreError(Get().SubscribeMulticast(mAllDomainBackboneRouters)); } exit: diff --git a/src/core/coap/coap.cpp b/src/core/coap/coap.cpp index 4e95abc03..23cd6f2e7 100644 --- a/src/core/coap/coap.cpp +++ b/src/core/coap/coap.cpp @@ -97,7 +97,7 @@ otError CoapBase::AddResource(Resource &aResource) void CoapBase::RemoveResource(Resource &aResource) { - mResources.Remove(aResource); + IgnoreError(mResources.Remove(aResource)); aResource.SetNext(NULL); } @@ -118,7 +118,7 @@ Message *CoapBase::NewMessage(const otMessageSettings *aSettings) Message *message = NULL; VerifyOrExit((message = static_cast(Get().NewMessage(0, aSettings))) != NULL, OT_NOOP); - message->SetOffset(0); + IgnoreError(message->SetOffset(0)); exit: return message; @@ -375,7 +375,7 @@ void CoapBase::HandleRetransmissionTimer(void) messageInfo.SetPeerPort(metadata.mDestinationPort); messageInfo.SetSockAddr(metadata.mSourceAddress); - SendCopy(*message, messageInfo); + IgnoreError(SendCopy(*message, messageInfo)); } } @@ -437,7 +437,7 @@ Message *CoapBase::CopyAndEnqueueMessage(const Message &aMessage, uint16_t aCopy mRetransmissionTimer.FireAtIfEarlier(aMetadata.mNextTimerShot); - mPendingRequests.Enqueue(*messageCopy); + IgnoreError(mPendingRequests.Enqueue(*messageCopy)); exit: @@ -452,7 +452,7 @@ exit: void CoapBase::DequeueMessage(Message &aMessage) { - mPendingRequests.Dequeue(aMessage); + IgnoreError(mPendingRequests.Dequeue(aMessage)); if (mRetransmissionTimer.IsRunning() && (mPendingRequests.GetHead() == NULL)) { @@ -537,7 +537,7 @@ void CoapBase::Receive(ot::Message &aMessage, const Ip6::MessageInfo &aMessageIn if (!aMessageInfo.GetSockAddr().IsMulticast() && message.IsConfirmable()) { - SendReset(message, aMessageInfo); + IgnoreError(SendReset(message, aMessageInfo)); } } else if (message.IsRequest()) @@ -644,7 +644,7 @@ void CoapBase::ProcessReceivedResponse(Message &aMessage, const Ip6::MessageInfo case OT_COAP_TYPE_CONFIRMABLE: // Send empty ACK if it is a CON message. - SendAck(aMessage, aMessageInfo); + IgnoreError(SendAck(aMessage, aMessageInfo)); // Fall through // Handling of RFC7641 and multicast is below. case OT_COAP_TYPE_NON_CONFIRMABLE: @@ -676,7 +676,7 @@ exit: { // Successfully parsed a header but no matching request was // found - reject the message by sending reset. - SendReset(aMessage, aMessageInfo); + IgnoreError(SendReset(aMessage, aMessageInfo)); } } } @@ -723,7 +723,7 @@ void CoapBase::ProcessReceivedRequest(Message &aMessage, const Ip6::MessageInfo VerifyOrExit(option->mLength < sizeof(uriPath) - static_cast(curUriPath + 1 - uriPath), OT_NOOP); - iterator.GetOptionValue(curUriPath); + IgnoreError(iterator.GetOptionValue(curUriPath)); curUriPath += option->mLength; break; @@ -758,7 +758,7 @@ exit: if (error == OT_ERROR_NOT_FOUND && !aMessageInfo.GetSockAddr().IsMulticast()) { - SendNotFound(aMessage, aMessageInfo); + IgnoreError(SendNotFound(aMessage, aMessageInfo)); } if (cachedResponse != NULL) @@ -845,7 +845,7 @@ void ResponsesQueue::EnqueueResponse(Message & aMessage, VerifyOrExit(metadata.AppendTo(*responseCopy) == OT_ERROR_NONE, responseCopy->Free()); - mQueue.Enqueue(*responseCopy); + IgnoreError(mQueue.Enqueue(*responseCopy)); mTimer.FireAtIfEarlier(metadata.mDequeueTime); @@ -886,7 +886,7 @@ void ResponsesQueue::UpdateQueue(void) void ResponsesQueue::DequeueResponse(Message &aMessage) { - mQueue.Dequeue(aMessage); + IgnoreError(mQueue.Dequeue(aMessage)); aMessage.Free(); } @@ -1021,7 +1021,7 @@ otError Coap::Start(uint16_t aPort) sockaddr.mPort = aPort; SuccessOrExit(error = mSocket.Open(&Coap::HandleUdpReceive, this)); - VerifyOrExit((error = mSocket.Bind(sockaddr)) == OT_ERROR_NONE, mSocket.Close()); + VerifyOrExit((error = mSocket.Bind(sockaddr)) == OT_ERROR_NONE, IgnoreError(mSocket.Close())); exit: return error; diff --git a/src/core/coap/coap_message.cpp b/src/core/coap/coap_message.cpp index b5ea2a1bd..ce0af47af 100644 --- a/src/core/coap/coap_message.cpp +++ b/src/core/coap/coap_message.cpp @@ -47,10 +47,10 @@ void Message::Init(void) { GetHelpData().Clear(); SetVersion(kVersion1); - SetOffset(0); + IgnoreError(SetOffset(0)); GetHelpData().mHeaderLength = kMinHeaderLength; - SetLength(GetHelpData().mHeaderLength); + IgnoreError(SetLength(GetHelpData().mHeaderLength)); } void Message::Init(Type aType, Code aCode) @@ -235,7 +235,7 @@ otError Message::SetPayloadMarker(void) GetHelpData().mHeaderLength = GetLength(); // Set offset to the start of payload. - SetOffset(GetHelpData().mHeaderLength); + IgnoreError(SetOffset(GetHelpData().mHeaderLength)); exit: return error; @@ -264,7 +264,7 @@ otError Message::ParseHeader(void) VerifyOrExit(iterator.mNextOptionOffset > 0, error = OT_ERROR_PARSE); GetHelpData().mHeaderLength = iterator.mNextOptionOffset - GetHelpData().mHeaderOffset; - MoveOffset(GetHelpData().mHeaderLength); + IgnoreError(MoveOffset(GetHelpData().mHeaderLength)); exit: return error; @@ -286,7 +286,7 @@ otError Message::SetToken(uint8_t aTokenLength) OT_ASSERT(aTokenLength <= sizeof(token)); - Random::Crypto::FillBuffer(token, aTokenLength); + IgnoreError(Random::Crypto::FillBuffer(token, aTokenLength)); return SetToken(token, aTokenLength); } diff --git a/src/core/coap/coap_secure.cpp b/src/core/coap/coap_secure.cpp index 6508e7f9e..2c33456a5 100644 --- a/src/core/coap/coap_secure.cpp +++ b/src/core/coap/coap_secure.cpp @@ -95,7 +95,7 @@ void CoapSecure::Stop(void) for (ot::Message *message = mTransmitQueue.GetHead(); message != NULL; message = message->GetNext()) { - mTransmitQueue.Dequeue(*message); + IgnoreError(mTransmitQueue.Dequeue(*message)); message->Free(); } @@ -179,7 +179,7 @@ otError CoapSecure::Send(ot::Message &aMessage, const Ip6::MessageInfo &aMessage otError error; SuccessOrExit(error = mTransmitQueue.Enqueue(aMessage)); - mTransmitTask.Post(); + IgnoreError(mTransmitTask.Post()); exit: return error; @@ -232,11 +232,11 @@ void CoapSecure::HandleTransmit(void) ot::Message *message = mTransmitQueue.GetHead(); VerifyOrExit(message != NULL, OT_NOOP); - mTransmitQueue.Dequeue(*message); + IgnoreError(mTransmitQueue.Dequeue(*message)); if (mTransmitQueue.GetHead() != NULL) { - mTransmitTask.Post(); + IgnoreError(mTransmitTask.Post()); } SuccessOrExit(error = mDtls.Send(*message, message->GetLength())); diff --git a/src/core/common/code_utils.hpp b/src/core/common/code_utils.hpp index 44e44ed70..063753efa 100644 --- a/src/core/common/code_utils.hpp +++ b/src/core/common/code_utils.hpp @@ -38,6 +38,8 @@ #include +#include + #include "utils/static_assert.hpp" /** @@ -155,4 +157,18 @@ } \ } while (false) +/** + * This function ignores an error explicitly. + * + * This is primarily used to indicate the intention of developer that + * the error can be safely ignored or there is guaranteed to be no error. + * + * @param[in] aError The error to be ignored. + * + */ +static inline void IgnoreError(otError aError) +{ + OT_UNUSED_VARIABLE(aError); +} + #endif // CODE_UTILS_HPP_ diff --git a/src/core/common/instance.cpp b/src/core/common/instance.cpp index 9fca329be..77f19ff64 100644 --- a/src/core/common/instance.cpp +++ b/src/core/common/instance.cpp @@ -173,7 +173,7 @@ void Instance::AfterInit(void) // Restore datasets and network information Get().Init(); - Get().Restore(); + IgnoreError(Get().Restore()); #endif // OPENTHREAD_MTD || OPENTHREAD_FTD @@ -189,14 +189,14 @@ void Instance::Finalize(void) mIsInitialized = false; #if OPENTHREAD_MTD || OPENTHREAD_FTD - IgnoreReturnValue(otThreadSetEnabled(this, false)); - IgnoreReturnValue(otIp6SetEnabled(this, false)); - IgnoreReturnValue(otLinkSetEnabled(this, false)); + IgnoreError(otThreadSetEnabled(this, false)); + IgnoreError(otIp6SetEnabled(this, false)); + IgnoreError(otLinkSetEnabled(this, false)); Get().Deinit(); #endif - Get().Disable(); + IgnoreError(Get().Disable()); #if !OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE diff --git a/src/core/common/message.cpp b/src/core/common/message.cpp index cba57b581..07b4eeb1f 100644 --- a/src/core/common/message.cpp +++ b/src/core/common/message.cpp @@ -289,7 +289,7 @@ otError Message::SetLength(uint16_t aLength) // Correct offset in case shorter length is set. if (GetOffset() > aLength) { - SetOffset(aLength); + IgnoreError(SetOffset(aLength)); } exit: @@ -372,14 +372,14 @@ otError Message::SetPriority(uint8_t aPriority) if (mBuffer.mHead.mInfo.mInPriorityQ) { priorityQueue = mBuffer.mHead.mInfo.mQueue.mPriority; - priorityQueue->Dequeue(*this); + IgnoreError(priorityQueue->Dequeue(*this)); } mBuffer.mHead.mInfo.mPriority = aPriority; if (priorityQueue != NULL) { - priorityQueue->Enqueue(*this); + IgnoreError(priorityQueue->Enqueue(*this)); } exit: @@ -426,7 +426,7 @@ otError Message::Prepend(const void *aBuf, uint16_t aLength) SetReserved(GetReserved() - aLength); mBuffer.mHead.mInfo.mLength += aLength; - SetOffset(GetOffset() + aLength); + IgnoreError(SetOffset(GetOffset() + aLength)); if (aBuf != NULL) { @@ -641,7 +641,7 @@ Message *Message::Clone(uint16_t aLength) const // Copy selected message information. offset = GetOffset() < aLength ? GetOffset() : aLength; - messageCopy->SetOffset(offset); + IgnoreError(messageCopy->SetOffset(offset)); messageCopy->SetSubType(GetSubType()); messageCopy->SetLinkSecurityEnabled(IsLinkSecurityEnabled()); diff --git a/src/core/common/message.hpp b/src/core/common/message.hpp index 4444d0547..3e7521a23 100644 --- a/src/core/common/message.hpp +++ b/src/core/common/message.hpp @@ -680,7 +680,7 @@ public: * @param[in] aRss A new RSS value (in dBm) to be added to average. * */ - void AddRss(int8_t aRss) { mBuffer.mHead.mInfo.mRssAverager.Add(aRss); } + void AddRss(int8_t aRss) { IgnoreError(mBuffer.mHead.mInfo.mRssAverager.Add(aRss)); } /** * This method returns the average RSS (Received Signal Strength) associated with the message. diff --git a/src/core/common/notifier.cpp b/src/core/common/notifier.cpp index 24a718d78..2c3f628f7 100644 --- a/src/core/common/notifier.cpp +++ b/src/core/common/notifier.cpp @@ -124,7 +124,7 @@ void Notifier::Signal(otChangedFlags aFlags) { mFlagsToSignal |= aFlags; mSignaledFlags |= aFlags; - mTask.Post(); + IgnoreError(mTask.Post()); } void Notifier::SignalIfFirst(otChangedFlags aFlags) @@ -195,7 +195,7 @@ void Notifier::LogChangedFlags(otChangedFlags aFlags) const addSpace = false; } - string.Append("%s%s", addSpace ? " " : "", FlagToString(1 << bit)); + IgnoreError(string.Append("%s%s", addSpace ? " " : "", FlagToString(1 << bit))); addSpace = true; flags ^= (1 << bit); diff --git a/src/core/common/string.hpp b/src/core/common/string.hpp index b7619bfaa..2e79e326c 100644 --- a/src/core/common/string.hpp +++ b/src/core/common/string.hpp @@ -124,7 +124,7 @@ public: { va_list args; va_start(args, aFormat); - Write(mBuffer, kSize, mLength, aFormat, args); + IgnoreError(Write(mBuffer, kSize, mLength, aFormat, args)); va_end(args); } diff --git a/src/core/common/timer.cpp b/src/core/common/timer.cpp index 7457ad90f..3233bb79a 100644 --- a/src/core/common/timer.cpp +++ b/src/core/common/timer.cpp @@ -135,7 +135,7 @@ void TimerScheduler::Remove(Timer &aTimer, const AlarmApi &aAlarmApi) } else { - mTimerList.Remove(aTimer); + IgnoreError(mTimerList.Remove(aTimer)); } aTimer.SetNext(&aTimer); diff --git a/src/core/diags/factory_diags.cpp b/src/core/diags/factory_diags.cpp index afe5ea36a..463d6ee7a 100644 --- a/src/core/diags/factory_diags.cpp +++ b/src/core/diags/factory_diags.cpp @@ -180,7 +180,7 @@ otError Diags::ProcessChannel(uint8_t aArgsLength, char *aArgs[], char *aOutput, VerifyOrExit(value >= Radio::kChannelMin && value <= Radio::kChannelMax, error = OT_ERROR_INVALID_ARGS); mChannel = static_cast(value); - Get().Receive(mChannel); + IgnoreError(Get().Receive(mChannel)); otPlatDiagChannelSet(mChannel); snprintf(aOutput, aOutputMaxLen, "set channel to %d\r\nstatus 0x%02x\r\n", mChannel, error); @@ -291,7 +291,7 @@ otError Diags::ProcessStart(uint8_t aArgsLength, char *aArgs[], char *aOutput, s otPlatDiagChannelSet(mChannel); otPlatDiagTxPowerSet(mTxPower); - Get().Enable(); + IgnoreError(Get().Enable()); Get().SetPromiscuous(true); otPlatAlarmMilliStop(&GetInstance()); SuccessOrExit(error = Get().Receive(mChannel)); @@ -370,7 +370,7 @@ void Diags::TransmitPacket(void) mTxPacket->mPsdu[i] = i; } - Get().Transmit(*static_cast(mTxPacket)); + IgnoreError(Get().Transmit(*static_cast(mTxPacket))); } otError Diags::ProcessRadio(uint8_t aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen) @@ -536,7 +536,7 @@ exit: { case OT_ERROR_NONE: - ProcessCmd(argCount, &aArgsector[0], aOutput, aOutputMaxLen); + IgnoreError(ProcessCmd(argCount, &aArgsector[0], aOutput, aOutputMaxLen)); break; case OT_ERROR_NO_BUFS: diff --git a/src/core/mac/channel_mask.cpp b/src/core/mac/channel_mask.cpp index b0a19b259..a3104563b 100644 --- a/src/core/mac/channel_mask.cpp +++ b/src/core/mac/channel_mask.cpp @@ -100,7 +100,7 @@ ChannelMask::InfoString ChannelMask::ToString(void) const bool addComma = false; otError error; - string.Append("{"); + IgnoreError(string.Append("{")); error = GetNextChannel(channel); @@ -119,16 +119,16 @@ ChannelMask::InfoString ChannelMask::ToString(void) const rangeEnd = channel; } - string.Append("%s%d", addComma ? ", " : " ", rangeStart); + IgnoreError(string.Append("%s%d", addComma ? ", " : " ", rangeStart)); addComma = true; if (rangeStart < rangeEnd) { - string.Append("%s%d", rangeEnd == rangeStart + 1 ? ", " : "-", rangeEnd); + IgnoreError(string.Append("%s%d", rangeEnd == rangeStart + 1 ? ", " : "-", rangeEnd)); } } - string.Append("}"); + IgnoreError(string.Append("}")); return string; } diff --git a/src/core/mac/data_poll_handler.cpp b/src/core/mac/data_poll_handler.cpp index 9b0728e46..c93a69dfe 100644 --- a/src/core/mac/data_poll_handler.cpp +++ b/src/core/mac/data_poll_handler.cpp @@ -157,7 +157,7 @@ void DataPollHandler::HandleDataPoll(Mac::RxFrame &aFrame) if (mIndirectTxChild == NULL) { mIndirectTxChild = child; - Get().RequestIndirectFrameTransmission(); + IgnoreError(Get().RequestIndirectFrameTransmission()); } else { @@ -263,10 +263,10 @@ void DataPollHandler::HandleSentFrame(const Mac::TxFrame &aFrame, otError aError uint32_t frameCounter; uint8_t keyId; - aFrame.GetFrameCounter(frameCounter); + IgnoreError(aFrame.GetFrameCounter(frameCounter)); aChild.SetIndirectFrameCounter(frameCounter); - aFrame.GetKeyId(keyId); + IgnoreError(aFrame.GetKeyId(keyId)); aChild.SetIndirectKeyId(keyId); } @@ -309,7 +309,7 @@ void DataPollHandler::ProcessPendingPolls(void) if (mIndirectTxChild != NULL) { mIndirectTxChild->SetDataPollPending(false); - Get().RequestIndirectFrameTransmission(); + IgnoreError(Get().RequestIndirectFrameTransmission()); } } diff --git a/src/core/mac/data_poll_sender.cpp b/src/core/mac/data_poll_sender.cpp index 480428c78..d01009bcb 100644 --- a/src/core/mac/data_poll_sender.cpp +++ b/src/core/mac/data_poll_sender.cpp @@ -208,14 +208,14 @@ void DataPollSender::HandlePollSent(Mac::TxFrame &aFrame, otError aError) if (!aFrame.IsEmpty()) { - aFrame.GetDstAddr(macDest); + IgnoreError(aFrame.GetDstAddr(macDest)); Get().UpdateNeighborOnSentFrame(aFrame, aError, macDest); } if (GetParent().IsStateInvalid()) { StopPolling(); - Get().BecomeDetached(); + IgnoreError(Get().BecomeDetached()); ExitNow(); } @@ -296,7 +296,7 @@ void DataPollSender::HandlePollTimeout(void) if (mPollTimeoutCounter < kQuickPollsAfterTimeout) { - SendDataPoll(); + IgnoreError(SendDataPoll()); } else { @@ -315,7 +315,7 @@ void DataPollSender::ProcessFrame(const Mac::RxFrame &aFrame) if (aFrame.GetFramePending()) { - SendDataPoll(); + IgnoreError(SendDataPoll()); } #if OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2 else if (aFrame.IsAck()) @@ -494,7 +494,7 @@ uint32_t DataPollSender::CalculatePollPeriod(void) const void DataPollSender::HandlePollTimer(Timer &aTimer) { - aTimer.GetOwner().SendDataPoll(); + IgnoreError(aTimer.GetOwner().SendDataPoll()); } uint32_t DataPollSender::GetDefaultPollPeriod(void) const diff --git a/src/core/mac/link_raw.cpp b/src/core/mac/link_raw.cpp index aa806b4d2..435dc56e2 100644 --- a/src/core/mac/link_raw.cpp +++ b/src/core/mac/link_raw.cpp @@ -81,7 +81,7 @@ otError LinkRaw::SetEnabled(bool aEnabled) } else { - mSubMac.Disable(); + IgnoreError(mSubMac.Disable()); } mEnabled = aEnabled; diff --git a/src/core/mac/mac.cpp b/src/core/mac/mac.cpp index 11ef6052d..46e455a4d 100644 --- a/src/core/mac/mac.cpp +++ b/src/core/mac/mac.cpp @@ -133,12 +133,12 @@ Mac::Mac(Instance &aInstance) mExtendedPanId.Clear(); SetEnabled(true); - mSubMac.Enable(); + IgnoreError(mSubMac.Enable()); SetExtendedPanId(static_cast(sExtendedPanidInit)); - SetNetworkName(sNetworkNameInit); + IgnoreError(SetNetworkName(sNetworkNameInit)); #if (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2) - SetDomainName(sDomainNameInit); + IgnoreError(SetDomainName(sDomainNameInit)); #endif SetPanId(mPanId); SetExtAddress(randomExtAddress); @@ -241,7 +241,7 @@ otError Mac::ConvertBeaconToActiveScanResult(const RxFrame *aBeaconFrame, Active VerifyOrExit(address.IsExtended(), error = OT_ERROR_PARSE); aResult.mExtAddress = address.GetExtended(); - aBeaconFrame->GetSrcPanId(aResult.mPanId); + IgnoreError(aBeaconFrame->GetSrcPanId(aResult.mPanId)); aResult.mChannel = aBeaconFrame->GetChannel(); aResult.mRssi = aBeaconFrame->GetRssi(); aResult.mLqi = aBeaconFrame->GetLqi(); @@ -256,7 +256,7 @@ otError Mac::ConvertBeaconToActiveScanResult(const RxFrame *aBeaconFrame, Active aResult.mVersion = beaconPayload->GetProtocolVersion(); aResult.mIsJoinable = beaconPayload->IsJoiningPermitted(); aResult.mIsNative = beaconPayload->IsNative(); - static_cast(aResult.mNetworkName).Set(beaconPayload->GetNetworkName()); + IgnoreError(static_cast(aResult.mNetworkName).Set(beaconPayload->GetNetworkName())); aResult.mExtendedPanId = beaconPayload->GetExtendedPanId(); } @@ -324,7 +324,7 @@ void Mac::PerformEnergyScan(void) { while (true) { - mSubMac.Receive(mScanChannel); + IgnoreError(mSubMac.Receive(mScanChannel)); ReportEnergyScanResult(mSubMac.GetRssi()); SuccessOrExit(error = UpdateScanChannel()); } @@ -392,7 +392,7 @@ void Mac::SetRxOnWhenIdle(bool aRxOnWhenIdle) { mTimer.Stop(); FinishOperation(); - mOperationTask.Post(); + IgnoreError(mOperationTask.Post()); } #if OPENTHREAD_CONFIG_MAC_STAY_AWAKE_BETWEEN_FRAGMENTS @@ -458,7 +458,7 @@ void Mac::SetSupportedChannelMask(const ChannelMask &aMask) ChannelMask newMask = aMask; newMask.Intersect(ChannelMask(Get().GetSupportedChannelMask())); - Get().Update(mSupportedChannelMask, newMask, OT_CHANGED_SUPPORTED_CHANNEL_MASK); + IgnoreError(Get().Update(mSupportedChannelMask, newMask, OT_CHANGED_SUPPORTED_CHANNEL_MASK)); } otError Mac::SetNetworkName(const char *aNameString) @@ -534,7 +534,7 @@ exit: void Mac::SetExtendedPanId(const ExtendedPanId &aExtendedPanId) { - Get().Update(mExtendedPanId, aExtendedPanId, OT_CHANGED_THREAD_EXT_PANID); + IgnoreError(Get().Update(mExtendedPanId, aExtendedPanId, OT_CHANGED_THREAD_EXT_PANID)); } otError Mac::RequestDirectFrameTransmission(void) @@ -625,12 +625,12 @@ void Mac::UpdateIdleMode(void) if (shouldSleep) { - mSubMac.Sleep(); + IgnoreError(mSubMac.Sleep()); otLogDebgMac("Idle mode: Radio sleeping"); } else { - mSubMac.Receive(mRadioChannel); + IgnoreError(mSubMac.Receive(mRadioChannel)); otLogDebgMac("Idle mode: Radio receiving on channel %d", mRadioChannel); } @@ -697,7 +697,7 @@ void Mac::StartOperation(Operation aOperation) if (mOperation == kOperationIdle) { - mOperationTask.Post(); + IgnoreError(mOperationTask.Post()); } } @@ -813,7 +813,7 @@ void Mac::PerformNextOperation(void) break; case kOperationWaitingForData: - mSubMac.Receive(mRadioChannel); + IgnoreError(mSubMac.Receive(mRadioChannel)); break; } @@ -854,7 +854,7 @@ otError Mac::PrepareDataRequest(TxFrame &aFrame) aFrame.SetDstPanId(GetPanId()); aFrame.SetSrcAddr(src); aFrame.SetDstAddr(dst); - aFrame.SetCommandId(Frame::kMacCmdDataRequest); + IgnoreError(aFrame.SetCommandId(Frame::kMacCmdDataRequest)); exit: return error; @@ -867,7 +867,7 @@ void Mac::PrepareBeaconRequest(TxFrame &aFrame) aFrame.InitMacHeader(fcf, Frame::kSecNone); aFrame.SetDstPanId(kShortAddrBroadcast); aFrame.SetDstAddr(kShortAddrBroadcast); - aFrame.SetCommandId(Frame::kMacCmdBeaconRequest); + IgnoreError(aFrame.SetCommandId(Frame::kMacCmdBeaconRequest)); otLogInfoMac("Sending Beacon Request"); } @@ -881,7 +881,7 @@ void Mac::PrepareBeacon(TxFrame &aFrame) fcf = Frame::kFcfFrameBeacon | Frame::kFcfDstAddrNone | Frame::kFcfSrcAddrExt; aFrame.InitMacHeader(fcf, Frame::kSecNone); - aFrame.SetSrcPanId(mPanId); + IgnoreError(aFrame.SetSrcPanId(mPanId)); aFrame.SetSrcAddr(GetExtAddress()); beacon = reinterpret_cast(aFrame.GetPayload()); @@ -957,7 +957,7 @@ void Mac::ProcessTransmitSecurity(TxFrame &aFrame, bool aProcessAesCcm) VerifyOrExit(aFrame.GetSecurityEnabled(), OT_NOOP); - aFrame.GetKeyIdMode(keyIdMode); + IgnoreError(aFrame.GetKeyIdMode(keyIdMode)); switch (keyIdMode) { @@ -1169,7 +1169,7 @@ void Mac::RecordFrameTransmitStatus(const TxFrame &aFrame, VerifyOrExit(!aFrame.IsEmpty(), OT_NOOP); - aFrame.GetDstAddr(dstAddr); + IgnoreError(aFrame.GetDstAddr(dstAddr)); neighbor = Get().GetNeighbor(dstAddr); // Record frame transmission success/failure state (for a neighbor). @@ -1273,7 +1273,7 @@ void Mac::HandleTransmitDone(TxFrame &aFrame, RxFrame *aAckFrame, otError aError // Determine whether to re-transmit a broadcast frame. - aFrame.GetDstAddr(dstAddr); + IgnoreError(aFrame.GetDstAddr(dstAddr)); if (dstAddr.IsBroadcast()) { @@ -1281,7 +1281,7 @@ void Mac::HandleTransmitDone(TxFrame &aFrame, RxFrame *aAckFrame, otError aError if (mBroadcastTransmitCount < kTxNumBcast) { - mSubMac.Send(); + IgnoreError(mSubMac.Send()); ExitNow(); } @@ -1445,13 +1445,13 @@ otError Mac::ProcessReceiveSecurity(RxFrame &aFrame, const Address &aSrcAddr, Ne VerifyOrExit(aFrame.GetSecurityEnabled(), error = OT_ERROR_NONE); - aFrame.GetSecurityLevel(securityLevel); + IgnoreError(aFrame.GetSecurityLevel(securityLevel)); VerifyOrExit(securityLevel == Frame::kSecEncMic32, OT_NOOP); - aFrame.GetFrameCounter(frameCounter); + IgnoreError(aFrame.GetFrameCounter(frameCounter)); otLogDebgMac("Rx security - frame counter %u", frameCounter); - aFrame.GetKeyIdMode(keyIdMode); + IgnoreError(aFrame.GetKeyIdMode(keyIdMode)); switch (keyIdMode) { @@ -1464,7 +1464,7 @@ otError Mac::ProcessReceiveSecurity(RxFrame &aFrame, const Address &aSrcAddr, Ne case Frame::kKeyIdMode1: VerifyOrExit(aNeighbor != NULL, OT_NOOP); - aFrame.GetKeyId(keyid); + IgnoreError(aFrame.GetKeyId(keyid)); keyid--; if (keyid == (keyManager.GetCurrentKeySequence() & 0x7f)) @@ -1580,8 +1580,8 @@ void Mac::HandleReceivedFrame(RxFrame *aFrame, otError aError) // the buffer received from the radio. SuccessOrExit(error = aFrame->ValidatePsdu()); - aFrame->GetSrcAddr(srcaddr); - aFrame->GetDstAddr(dstaddr); + IgnoreError(aFrame->GetSrcAddr(srcaddr)); + IgnoreError(aFrame->GetDstAddr(dstaddr)); neighbor = Get().GetNeighbor(srcaddr); // Destination Address Filtering @@ -1591,7 +1591,7 @@ void Mac::HandleReceivedFrame(RxFrame *aFrame, otError aError) break; case Address::kTypeShort: - aFrame->GetDstPanId(panid); + IgnoreError(aFrame->GetDstPanId(panid)); VerifyOrExit((panid == kShortAddrBroadcast || panid == mPanId) && ((mRxOnWhenIdle && dstaddr.IsBroadcast()) || dstaddr.GetShort() == GetShortAddress()), error = OT_ERROR_DESTINATION_ADDRESS_FILTERED); @@ -1607,7 +1607,7 @@ void Mac::HandleReceivedFrame(RxFrame *aFrame, otError aError) break; case Address::kTypeExtended: - aFrame->GetDstPanId(panid); + IgnoreError(aFrame->GetDstPanId(panid)); VerifyOrExit(panid == mPanId && dstaddr.GetExtended() == GetExtAddress(), error = OT_ERROR_DESTINATION_ADDRESS_FILTERED); break; @@ -1855,7 +1855,7 @@ bool Mac::HandleMacCommand(RxFrame &aFrame) bool didHandle = false; uint8_t commandId; - aFrame.GetCommandId(commandId); + IgnoreError(aFrame.GetCommandId(commandId)); switch (commandId) { diff --git a/src/core/mac/mac_frame.cpp b/src/core/mac/mac_frame.cpp index aefbda1f9..12fc6bef3 100644 --- a/src/core/mac/mac_frame.cpp +++ b/src/core/mac/mac_frame.cpp @@ -1058,22 +1058,22 @@ Frame::InfoString Frame::ToInfoString(void) const uint8_t commandId, type; Address src, dst; - string.Append("len:%d, seqnum:%d, type:", GetLength(), GetSequence()); + IgnoreError(string.Append("len:%d, seqnum:%d, type:", GetLength(), GetSequence())); type = GetType(); switch (type) { case kFcfFrameBeacon: - string.Append("Beacon"); + IgnoreError(string.Append("Beacon")); break; case kFcfFrameData: - string.Append("Data"); + IgnoreError(string.Append("Data")); break; case kFcfFrameAck: - string.Append("Ack"); + IgnoreError(string.Append("Ack")); break; case kFcfFrameMacCmd: @@ -1085,30 +1085,31 @@ Frame::InfoString Frame::ToInfoString(void) const switch (commandId) { case kMacCmdDataRequest: - string.Append("Cmd(DataReq)"); + IgnoreError(string.Append("Cmd(DataReq)")); break; case kMacCmdBeaconRequest: - string.Append("Cmd(BeaconReq)"); + IgnoreError(string.Append("Cmd(BeaconReq)")); break; default: - string.Append("Cmd(%d)", commandId); + IgnoreError(string.Append("Cmd(%d)", commandId)); break; } break; default: - string.Append("%d", type); + IgnoreError(string.Append("%d", type)); break; } - GetSrcAddr(src); - GetDstAddr(dst); + IgnoreError(GetSrcAddr(src)); + IgnoreError(GetDstAddr(dst)); - string.Append(", src:%s, dst:%s, sec:%s, ackreq:%s", src.ToString().AsCString(), dst.ToString().AsCString(), - GetSecurityEnabled() ? "yes" : "no", GetAckRequest() ? "yes" : "no"); + IgnoreError(string.Append(", src:%s, dst:%s, sec:%s, ackreq:%s", src.ToString().AsCString(), + dst.ToString().AsCString(), GetSecurityEnabled() ? "yes" : "no", + GetAckRequest() ? "yes" : "no")); return string; } @@ -1117,7 +1118,7 @@ BeaconPayload::InfoString BeaconPayload::ToInfoString(void) const { NetworkName name; - name.Set(GetNetworkName()); + IgnoreError(name.Set(GetNetworkName())); return InfoString("name:%s, xpanid:%s, id:%d, ver:%d, joinable:%s, native:%s", name.GetAsCString(), mExtendedPanId.ToString().AsCString(), GetProtocolId(), GetProtocolVersion(), diff --git a/src/core/mac/mac_types.cpp b/src/core/mac/mac_types.cpp index c06c9c859..330d35ed7 100644 --- a/src/core/mac/mac_types.cpp +++ b/src/core/mac/mac_types.cpp @@ -57,7 +57,7 @@ PanId GenerateRandomPanId(void) #if !OPENTHREAD_RADIO void ExtAddress::GenerateRandom(void) { - Random::Crypto::FillBuffer(m8, sizeof(ExtAddress)); + IgnoreError(Random::Crypto::FillBuffer(m8, sizeof(ExtAddress))); SetGroup(false); SetLocal(true); } diff --git a/src/core/mac/sub_mac.cpp b/src/core/mac/sub_mac.cpp index eedbabf46..a8b0497c2 100644 --- a/src/core/mac/sub_mac.cpp +++ b/src/core/mac/sub_mac.cpp @@ -241,11 +241,11 @@ void SubMac::StartCsmaBackoff(void) if (mRxOnWhenBackoff) { - Get().Receive(mTransmitFrame.GetChannel()); + IgnoreError(Get().Receive(mTransmitFrame.GetChannel())); } else { - Get().Sleep(); + IgnoreError(Get().Sleep()); } #if OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE @@ -400,7 +400,7 @@ otError SubMac::EnergyScan(uint8_t aScanChannel, uint16_t aScanDuration) if (RadioSupportsEnergyScan()) { - Get().EnergyScan(aScanChannel, aScanDuration); + IgnoreError(Get().EnergyScan(aScanChannel, aScanDuration)); SetState(kStateEnergyScan); } else if (ShouldHandleEnergyScan()) @@ -471,7 +471,7 @@ void SubMac::HandleTimer(void) case kStateTransmit: otLogDebgMac("Ack timer timed out"); - Get().Receive(mTransmitFrame.GetChannel()); + IgnoreError(Get().Receive(mTransmitFrame.GetChannel())); HandleTransmitDone(mTransmitFrame, NULL, OT_ERROR_NO_ACK); break; diff --git a/src/core/meshcop/border_agent.cpp b/src/core/meshcop/border_agent.cpp index a0e3d8e14..a92e2190d 100644 --- a/src/core/meshcop/border_agent.cpp +++ b/src/core/meshcop/border_agent.cpp @@ -252,9 +252,10 @@ void BorderAgent::HandleCoapResponse(void * aContext, SuccessOrExit(error = Tlv::ReadUint16Tlv(*response, Tlv::kCommissionerSessionId, sessionId)); - instance.Get().GetCommissionerAloc(borderAgent.mCommissionerAloc.GetAddress(), sessionId); - instance.Get().AddUnicastAddress(borderAgent.mCommissionerAloc); - instance.Get().AddReceiver(borderAgent.mUdpReceiver); + IgnoreError(instance.Get().GetCommissionerAloc(borderAgent.mCommissionerAloc.GetAddress(), + sessionId)); + IgnoreError(instance.Get().AddUnicastAddress(borderAgent.mCommissionerAloc)); + IgnoreError(instance.Get().AddReceiver(borderAgent.mUdpReceiver)); } } @@ -289,9 +290,9 @@ void BorderAgent::HandleRequest<&BorderAgent::mCommissionerPetition>(void * otMessage * aMessage, const otMessageInfo *aMessageInfo) { - static_cast(aContext)->ForwardToLeader(*static_cast(aMessage), - *static_cast(aMessageInfo), - OT_URI_PATH_LEADER_PETITION, true, true); + IgnoreError(static_cast(aContext)->ForwardToLeader( + *static_cast(aMessage), *static_cast(aMessageInfo), + OT_URI_PATH_LEADER_PETITION, true, true)); } template <> @@ -375,11 +376,11 @@ void BorderAgent::HandleStateChanged(otChangedFlags aFlags) if (Get().IsAttached()) { - Start(); + IgnoreError(Start()); } else { - Stop(); + IgnoreError(Stop()); } exit: @@ -659,7 +660,7 @@ void BorderAgent::HandleConnected(bool aConnected) else { otLogInfoMeshCoP("Commissioner disconnected"); - Get().RemoveUnicastAddress(mCommissionerAloc); + IgnoreError(Get().RemoveUnicastAddress(mCommissionerAloc)); SetState(OT_BORDER_AGENT_STATE_STARTED); } } @@ -675,18 +676,18 @@ otError BorderAgent::Start(void) SuccessOrExit(error = coaps.SetPsk(Get().GetPskc().m8, OT_PSKC_MAX_SIZE)); coaps.SetConnectedCallback(HandleConnected, this); - coaps.AddResource(mActiveGet); - coaps.AddResource(mActiveSet); - coaps.AddResource(mPendingGet); - coaps.AddResource(mPendingSet); - coaps.AddResource(mCommissionerPetition); - coaps.AddResource(mCommissionerKeepAlive); - coaps.AddResource(mCommissionerSet); - coaps.AddResource(mCommissionerGet); - coaps.AddResource(mProxyTransmit); - coaps.AddResource(mRelayTransmit); + IgnoreError(coaps.AddResource(mActiveGet)); + IgnoreError(coaps.AddResource(mActiveSet)); + IgnoreError(coaps.AddResource(mPendingGet)); + IgnoreError(coaps.AddResource(mPendingSet)); + IgnoreError(coaps.AddResource(mCommissionerPetition)); + IgnoreError(coaps.AddResource(mCommissionerKeepAlive)); + IgnoreError(coaps.AddResource(mCommissionerSet)); + IgnoreError(coaps.AddResource(mCommissionerGet)); + IgnoreError(coaps.AddResource(mProxyTransmit)); + IgnoreError(coaps.AddResource(mRelayTransmit)); - Get().AddResource(mRelayReceive); + IgnoreError(Get().AddResource(mRelayReceive)); SetState(OT_BORDER_AGENT_STATE_STARTED); @@ -753,7 +754,7 @@ void BorderAgent::ApplyMeshLocalPrefix(void) if (Get().RemoveUnicastAddress(mCommissionerAloc) == OT_ERROR_NONE) { mCommissionerAloc.GetAddress().SetPrefix(Get().GetMeshLocalPrefix()); - Get().AddUnicastAddress(mCommissionerAloc); + IgnoreError(Get().AddUnicastAddress(mCommissionerAloc)); } exit: diff --git a/src/core/meshcop/border_agent.hpp b/src/core/meshcop/border_agent.hpp index ef0e37bf0..8ca9e8b93 100644 --- a/src/core/meshcop/border_agent.hpp +++ b/src/core/meshcop/border_agent.hpp @@ -105,9 +105,9 @@ private: template static void HandleRequest(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) { - static_cast(aContext)->ForwardToLeader( + IgnoreError(static_cast(aContext)->ForwardToLeader( *static_cast(aMessage), *static_cast(aMessageInfo), - (static_cast(aContext)->*aResource).GetUriPath(), false, false); + (static_cast(aContext)->*aResource).GetUriPath(), false, false)); } static void HandleTimeout(Timer &aTimer); diff --git a/src/core/meshcop/commissioner.cpp b/src/core/meshcop/commissioner.cpp index 51048be6d..eae723a62 100644 --- a/src/core/meshcop/commissioner.cpp +++ b/src/core/meshcop/commissioner.cpp @@ -114,9 +114,9 @@ void Commissioner::SignalJoinerEvent(otCommissionerJoinerEvent aEvent, const Mac void Commissioner::AddCoapResources(void) { - Get().AddResource(mRelayReceive); - Get().AddResource(mDatasetChanged); - Get().AddResource(mJoinerFinalize); + IgnoreError(Get().AddResource(mRelayReceive)); + IgnoreError(Get().AddResource(mDatasetChanged)); + IgnoreError(Get().AddResource(mJoinerFinalize)); } void Commissioner::RemoveCoapResources(void) @@ -193,7 +193,7 @@ otError Commissioner::Stop(bool aResign) if (mState == OT_COMMISSIONER_STATE_ACTIVE) { - Get().RemoveUnicastAddress(mCommissionerAloc); + IgnoreError(Get().RemoveUnicastAddress(mCommissionerAloc)); RemoveCoapResources(); ClearJoiners(); needResign = true; @@ -209,7 +209,7 @@ otError Commissioner::Stop(bool aResign) if (needResign && aResign) { - SendKeepAlive(); + IgnoreError(SendKeepAlive()); } exit: @@ -276,7 +276,7 @@ void Commissioner::ClearJoiners(void) joiner->mValid = false; } - SendCommissionerSet(); + IgnoreError(SendCommissionerSet()); } otError Commissioner::AddJoiner(const Mac::ExtAddress *aEui64, const char *aPskd, uint32_t aTimeout) @@ -287,7 +287,7 @@ otError Commissioner::AddJoiner(const Mac::ExtAddress *aEui64, const char *aPskd VerifyOrExit(StringLength(aPskd, Dtls::kPskMaxLength + 1) <= Dtls::kPskMaxLength, error = OT_ERROR_INVALID_ARGS); - RemoveJoiner(aEui64, 0, kJoinerOpFlagNotNotifyLeader); // remove immediately + IgnoreError(RemoveJoiner(aEui64, 0, kJoinerOpFlagNotNotifyLeader)); // remove immediately for (Joiner *joiner = &mJoiners[0]; joiner < OT_ARRAY_END(mJoiners); joiner++) { @@ -312,7 +312,7 @@ otError Commissioner::AddJoiner(const Mac::ExtAddress *aEui64, const char *aPskd UpdateJoinerExpirationTimer(); - SendCommissionerSet(); + IgnoreError(SendCommissionerSet()); otLogInfoMeshCoP("Added Joiner (%s, %s)", (aEui64 != NULL) ? aEui64->ToString().AsCString() : "*", aPskd); @@ -396,7 +396,7 @@ otError Commissioner::RemoveJoiner(const Mac::ExtAddress *aEui64, uint32_t aDela UpdateJoinerExpirationTimer(); if ((aFlags & kJoinerOpFlagNotNotifyLeader) == 0) { - SendCommissionerSet(); + IgnoreError(SendCommissionerSet()); } otLogInfoMeshCoP("Removed Joiner (%s)", (aEui64 != NULL) ? aEui64->ToString().AsCString() : "*"); @@ -447,11 +447,11 @@ void Commissioner::HandleTimer(void) break; case OT_COMMISSIONER_STATE_PETITION: - SendPetition(); + IgnoreError(SendPetition()); break; case OT_COMMISSIONER_STATE_ACTIVE: - SendKeepAlive(); + IgnoreError(SendKeepAlive()); break; } } @@ -476,7 +476,7 @@ void Commissioner::HandleJoinerExpirationTimer(void) if (now >= joiner->mExpirationTime) { otLogDebgMeshCoP("removing joiner due to timeout or successfully joined"); - RemoveJoiner(&joiner->mEui64, 0); // remove immediately + IgnoreError(RemoveJoiner(&joiner->mEui64, 0)); // remove immediately } } @@ -634,7 +634,7 @@ otError Commissioner::SendMgmtCommissionerSetRequest(const otCommissioningDatase if (message->GetLength() == message->GetOffset()) { // no payload, remove coap payload marker - message->SetLength(message->GetLength() - 1); + IgnoreError(message->SetLength(message->GetLength() - 1)); } messageInfo.SetSockAddr(Get().GetMeshLocal16()); @@ -739,7 +739,7 @@ void Commissioner::HandleLeaderPetitionResponse(Coap::Message * aMessage otLogInfoMeshCoP("received Leader Petition response"); SuccessOrExit(Tlv::ReadUint8Tlv(*aMessage, Tlv::kState, state)); - VerifyOrExit(state == StateTlv::kAccept, Stop(/* aResign */ false)); + VerifyOrExit(state == StateTlv::kAccept, IgnoreError(Stop(/* aResign */ false))); SuccessOrExit(Tlv::ReadUint16Tlv(*aMessage, Tlv::kCommissionerSessionId, mSessionId)); @@ -747,12 +747,12 @@ void Commissioner::HandleLeaderPetitionResponse(Coap::Message * aMessage // this could happen if commissioner is stopped by API during petitioning if (mState == OT_COMMISSIONER_STATE_DISABLED) { - SendKeepAlive(mSessionId); + IgnoreError(SendKeepAlive(mSessionId)); ExitNow(); } - Get().GetCommissionerAloc(mCommissionerAloc.GetAddress(), mSessionId); - Get().AddUnicastAddress(mCommissionerAloc); + IgnoreError(Get().GetCommissionerAloc(mCommissionerAloc.GetAddress(), mSessionId)); + IgnoreError(Get().AddUnicastAddress(mCommissionerAloc)); AddCoapResources(); SetState(OT_COMMISSIONER_STATE_ACTIVE); @@ -766,7 +766,7 @@ exit: { if (mTransmitAttempts >= kPetitionRetryCount) { - Stop(/* aResign */ false); + IgnoreError(Stop(/* aResign */ false)); } else { @@ -833,12 +833,13 @@ void Commissioner::HandleLeaderKeepAliveResponse(Coap::Message * aMessag uint8_t state; VerifyOrExit(mState == OT_COMMISSIONER_STATE_ACTIVE, OT_NOOP); - VerifyOrExit(aResult == OT_ERROR_NONE && aMessage->GetCode() == OT_COAP_CODE_CHANGED, Stop(/* aResign */ false)); + VerifyOrExit(aResult == OT_ERROR_NONE && aMessage->GetCode() == OT_COAP_CODE_CHANGED, + IgnoreError(Stop(/* aResign */ false))); otLogInfoMeshCoP("received Leader keep-alive response"); SuccessOrExit(Tlv::ReadUint8Tlv(*aMessage, Tlv::kState, state)); - VerifyOrExit(state == StateTlv::kAccept, Stop(/* aResign */ false)); + VerifyOrExit(state == StateTlv::kAccept, IgnoreError(Stop(/* aResign */ false))); mTimer.Start(Time::SecToMsec(kKeepAliveTimeout) / 2); @@ -923,7 +924,7 @@ void Commissioner::HandleRelayReceive(Coap::Message &aMessage, const Ip6::Messag mJoinerIid[2], mJoinerIid[3], mJoinerIid[4], mJoinerIid[5], mJoinerIid[6], mJoinerIid[7], mJoinerRloc); - aMessage.SetOffset(offset); + IgnoreError(aMessage.SetOffset(offset)); SuccessOrExit(error = aMessage.SetLength(offset + length)); joinerMessageInfo.SetPeerAddr(Get().GetMeshLocal64()); @@ -1007,7 +1008,7 @@ void Commissioner::SendJoinFinalizeResponse(const Coap::Message &aRequest, State SuccessOrExit(error = message->SetDefaultResponseHeader(aRequest)); SuccessOrExit(error = message->SetPayloadMarker()); - message->SetOffset(message->GetLength()); + IgnoreError(message->SetOffset(message->GetLength())); message->SetSubType(Message::kSubTypeJoinerFinalizeResponse); SuccessOrExit(error = Tlv::AppendUint8Tlv(*message, Tlv::kState, static_cast(aState))); @@ -1033,7 +1034,7 @@ void Commissioner::SendJoinFinalizeResponse(const Coap::Message &aRequest, State if (!mJoiners[mJoinerIndex].mAny) { // remove after kRemoveJoinerDelay (seconds) - RemoveJoiner(&mJoiners[mJoinerIndex].mEui64, kRemoveJoinerDelay); + IgnoreError(RemoveJoiner(&mJoiners[mJoinerIndex].mEui64, kRemoveJoinerDelay)); } otLogInfoMeshCoP("sent joiner finalize response"); @@ -1106,9 +1107,9 @@ void Commissioner::ApplyMeshLocalPrefix(void) { VerifyOrExit(mState == OT_COMMISSIONER_STATE_ACTIVE, OT_NOOP); - Get().RemoveUnicastAddress(mCommissionerAloc); + IgnoreError(Get().RemoveUnicastAddress(mCommissionerAloc)); mCommissionerAloc.GetAddress().SetPrefix(Get().GetMeshLocalPrefix()); - Get().AddUnicastAddress(mCommissionerAloc); + IgnoreError(Get().AddUnicastAddress(mCommissionerAloc)); exit: return; diff --git a/src/core/meshcop/dataset.cpp b/src/core/meshcop/dataset.cpp index 5406817f1..0a1f0372a 100644 --- a/src/core/meshcop/dataset.cpp +++ b/src/core/meshcop/dataset.cpp @@ -135,8 +135,8 @@ void Dataset::ConvertTo(otOperationalDataset &aDataset) const break; case Tlv::kNetworkName: - static_cast(aDataset.mNetworkName) - .Set(static_cast(cur)->GetNetworkName()); + IgnoreError(static_cast(aDataset.mNetworkName) + .Set(static_cast(cur)->GetNetworkName())); aDataset.mComponents.mIsNetworkNamePresent = true; break; @@ -194,7 +194,7 @@ otError Dataset::SetFrom(const otOperationalDataset &aDataset) tlv.Init(); tlv.SetSeconds(aDataset.mActiveTimestamp); tlv.SetTicks(0); - SetTlv(tlv); + IgnoreError(SetTlv(tlv)); } if (aDataset.mComponents.mIsPendingTimestampPresent) @@ -203,12 +203,12 @@ otError Dataset::SetFrom(const otOperationalDataset &aDataset) tlv.Init(); tlv.SetSeconds(aDataset.mPendingTimestamp); tlv.SetTicks(0); - SetTlv(tlv); + IgnoreError(SetTlv(tlv)); } if (aDataset.mComponents.mIsDelayPresent) { - SetUint32Tlv(Tlv::kDelayTimer, aDataset.mDelay); + IgnoreError(SetUint32Tlv(Tlv::kDelayTimer, aDataset.mDelay)); } if (aDataset.mComponents.mIsChannelPresent) @@ -216,7 +216,7 @@ otError Dataset::SetFrom(const otOperationalDataset &aDataset) ChannelTlv tlv; tlv.Init(); tlv.SetChannel(aDataset.mChannel); - SetTlv(tlv); + IgnoreError(SetTlv(tlv)); } if (aDataset.mComponents.mIsChannelMaskPresent) @@ -224,39 +224,39 @@ otError Dataset::SetFrom(const otOperationalDataset &aDataset) ChannelMaskTlv tlv; tlv.Init(); tlv.SetChannelMask(aDataset.mChannelMask); - SetTlv(tlv); + IgnoreError(SetTlv(tlv)); } if (aDataset.mComponents.mIsExtendedPanIdPresent) { - SetTlv(Tlv::kExtendedPanId, &aDataset.mExtendedPanId, sizeof(Mac::ExtendedPanId)); + IgnoreError(SetTlv(Tlv::kExtendedPanId, &aDataset.mExtendedPanId, sizeof(Mac::ExtendedPanId))); } if (aDataset.mComponents.mIsMeshLocalPrefixPresent) { - SetTlv(Tlv::kMeshLocalPrefix, &aDataset.mMeshLocalPrefix, sizeof(Mle::MeshLocalPrefix)); + IgnoreError(SetTlv(Tlv::kMeshLocalPrefix, &aDataset.mMeshLocalPrefix, sizeof(Mle::MeshLocalPrefix))); } if (aDataset.mComponents.mIsMasterKeyPresent) { - SetTlv(Tlv::kNetworkMasterKey, &aDataset.mMasterKey, sizeof(MasterKey)); + IgnoreError(SetTlv(Tlv::kNetworkMasterKey, &aDataset.mMasterKey, sizeof(MasterKey))); } if (aDataset.mComponents.mIsNetworkNamePresent) { Mac::NameData nameData = static_cast(aDataset.mNetworkName).GetAsData(); - SetTlv(Tlv::kNetworkName, nameData.GetBuffer(), nameData.GetLength()); + IgnoreError(SetTlv(Tlv::kNetworkName, nameData.GetBuffer(), nameData.GetLength())); } if (aDataset.mComponents.mIsPanIdPresent) { - SetUint16Tlv(Tlv::kPanId, aDataset.mPanId); + IgnoreError(SetUint16Tlv(Tlv::kPanId, aDataset.mPanId)); } if (aDataset.mComponents.mIsPskcPresent) { - SetTlv(Tlv::kPskc, &aDataset.mPskc, sizeof(Pskc)); + IgnoreError(SetTlv(Tlv::kPskc, &aDataset.mPskc, sizeof(Pskc))); } if (aDataset.mComponents.mIsSecurityPolicyPresent) @@ -265,7 +265,7 @@ otError Dataset::SetFrom(const otOperationalDataset &aDataset) tlv.Init(); tlv.SetRotationTime(aDataset.mSecurityPolicy.mRotationTime); tlv.SetFlags(aDataset.mSecurityPolicy.mFlags); - SetTlv(tlv); + IgnoreError(SetTlv(tlv)); } mUpdateTime = TimerMilli::GetNow(); @@ -296,7 +296,8 @@ exit: void Dataset::SetTimestamp(const Timestamp &aTimestamp) { - SetTlv((mType == kActive) ? Tlv::kActiveTimestamp : Tlv::kPendingTimestamp, &aTimestamp, sizeof(Timestamp)); + IgnoreError( + SetTlv((mType == kActive) ? Tlv::kActiveTimestamp : Tlv::kPendingTimestamp, &aTimestamp, sizeof(Timestamp))); } otError Dataset::SetTlv(Tlv::Type aType, const void *aValue, uint8_t aLength) @@ -473,7 +474,7 @@ otError Dataset::ApplyConfiguration(Instance &aInstance, bool *aIsMasterKeyUpdat break; case Tlv::kNetworkName: - mac.SetNetworkName(static_cast(cur)->GetNetworkName()); + IgnoreError(mac.SetNetworkName(static_cast(cur)->GetNetworkName())); break; case Tlv::kNetworkMasterKey: @@ -485,7 +486,7 @@ otError Dataset::ApplyConfiguration(Instance &aInstance, bool *aIsMasterKeyUpdat *aIsMasterKeyUpdated = true; } - keyManager.SetMasterKey(key->GetNetworkMasterKey()); + IgnoreError(keyManager.SetMasterKey(key->GetNetworkMasterKey())); break; } @@ -505,7 +506,7 @@ otError Dataset::ApplyConfiguration(Instance &aInstance, bool *aIsMasterKeyUpdat case Tlv::kSecurityPolicy: { const SecurityPolicyTlv *securityPolicy = static_cast(cur); - keyManager.SetKeyRotation(securityPolicy->GetRotationTime()); + IgnoreError(keyManager.SetKeyRotation(securityPolicy->GetRotationTime())); keyManager.SetSecurityPolicyFlags(securityPolicy->GetFlags()); break; } diff --git a/src/core/meshcop/dataset_local.cpp b/src/core/meshcop/dataset_local.cpp index 25de45e2e..bea02a81b 100644 --- a/src/core/meshcop/dataset_local.cpp +++ b/src/core/meshcop/dataset_local.cpp @@ -60,7 +60,7 @@ DatasetLocal::DatasetLocal(Instance &aInstance, Dataset::Type aType) void DatasetLocal::Clear(void) { - Get().DeleteOperationalDataset(IsActive()); + IgnoreError(Get().DeleteOperationalDataset(IsActive())); mTimestamp.Init(); mTimestampPresent = false; mSaved = false; @@ -165,7 +165,7 @@ otError DatasetLocal::Save(const Dataset &aDataset) if (aDataset.GetSize() == 0) { // do not propagate error back - Get().DeleteOperationalDataset(IsActive()); + IgnoreError(Get().DeleteOperationalDataset(IsActive())); mSaved = false; otLogInfoMeshCoP("%s dataset deleted", Dataset::TypeToString(mType)); } diff --git a/src/core/meshcop/dataset_manager.cpp b/src/core/meshcop/dataset_manager.cpp index d1f8153ae..110038f5e 100644 --- a/src/core/meshcop/dataset_manager.cpp +++ b/src/core/meshcop/dataset_manager.cpp @@ -104,7 +104,7 @@ otError DatasetManager::Restore(void) if (mLocal.GetType() == Dataset::kActive) { - dataset.ApplyConfiguration(GetInstance()); + IgnoreError(dataset.ApplyConfiguration(GetInstance())); } exit: @@ -133,7 +133,7 @@ void DatasetManager::Clear(void) void DatasetManager::HandleDetach(void) { - Restore(); + IgnoreError(Restore()); } otError DatasetManager::Save(const Dataset &aDataset) @@ -160,7 +160,7 @@ otError DatasetManager::Save(const Dataset &aDataset) if (isMasterkeyUpdated || compare > 0) { - mLocal.Save(aDataset); + IgnoreError(mLocal.Save(aDataset)); #if OPENTHREAD_FTD Get().IncrementVersionAndStableVersion(); @@ -184,7 +184,7 @@ otError DatasetManager::Save(const otOperationalDataset &aDataset) switch (Get().GetRole()) { case Mle::kRoleDisabled: - Restore(); + IgnoreError(Restore()); break; case Mle::kRoleChild: @@ -196,7 +196,7 @@ otError DatasetManager::Save(const otOperationalDataset &aDataset) break; case Mle::kRoleLeader: - Restore(); + IgnoreError(Restore()); Get().IncrementVersionAndStableVersion(); break; #endif @@ -239,7 +239,7 @@ void DatasetManager::HandleTimer(void) if (mLocal.GetType() == Dataset::kActive) { Dataset dataset(Dataset::kPending); - Get().Read(dataset); + IgnoreError(Get().Read(dataset)); const ActiveTimestampTlv *tlv = dataset.GetTlv(); const Timestamp * pendingActiveTimestamp = static_cast(tlv); @@ -251,7 +251,7 @@ void DatasetManager::HandleTimer(void) } } - Register(); + IgnoreError(Register()); mTimer.Start(1000); exit: @@ -270,11 +270,11 @@ otError DatasetManager::Register(void) SuccessOrExit(error = message->Init(OT_COAP_TYPE_CONFIRMABLE, OT_COAP_CODE_POST, mUriSet)); SuccessOrExit(error = message->SetPayloadMarker()); - mLocal.Read(dataset); + IgnoreError(mLocal.Read(dataset)); SuccessOrExit(error = message->Append(dataset.GetBytes(), dataset.GetSize())); messageInfo.SetSockAddr(Get().GetMeshLocal16()); - Get().GetLeaderAloc(messageInfo.GetPeerAddr()); + IgnoreError(Get().GetLeaderAloc(messageInfo.GetPeerAddr())); messageInfo.SetPeerPort(kCoapUdpPort); SuccessOrExit(error = Get().SendMessage(*message, messageInfo)); @@ -344,7 +344,7 @@ void DatasetManager::SendGetResponse(const Coap::Message & aRequest, Coap::Message *message; Dataset dataset(mLocal.GetType()); - mLocal.Read(dataset); + IgnoreError(mLocal.Read(dataset)); VerifyOrExit((message = NewMeshCoPMessage(Get())) != NULL, error = OT_ERROR_NO_BUFS); @@ -382,7 +382,7 @@ void DatasetManager::SendGetResponse(const Coap::Message & aRequest, if (message->GetLength() == message->GetOffset()) { // no payload, remove coap payload marker - message->SetLength(message->GetLength() - 1); + IgnoreError(message->SetLength(message->GetLength() - 1)); } SuccessOrExit(error = Get().SendMessage(*message, aMessageInfo)); @@ -527,11 +527,11 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con if (message->GetLength() == message->GetOffset()) { // no payload, remove coap payload marker - message->SetLength(message->GetLength() - 1); + IgnoreError(message->SetLength(message->GetLength() - 1)); } messageInfo.SetSockAddr(Get().GetMeshLocal16()); - Get().GetLeaderAloc(messageInfo.GetPeerAddr()); + IgnoreError(Get().GetLeaderAloc(messageInfo.GetPeerAddr())); messageInfo.SetPeerPort(kCoapUdpPort); SuccessOrExit(error = Get().SendMessage(*message, messageInfo)); @@ -653,7 +653,7 @@ otError DatasetManager::SendGetRequest(const otOperationalDatasetComponents &aDa } else { - Get().GetLeaderAloc(messageInfo.GetPeerAddr()); + IgnoreError(Get().GetLeaderAloc(messageInfo.GetPeerAddr())); } messageInfo.SetSockAddr(Get().GetMeshLocal16()); @@ -683,7 +683,7 @@ ActiveDataset::ActiveDataset(Instance &aInstance) , mResourceSet(OT_URI_PATH_ACTIVE_SET, &ActiveDataset::HandleSet, this) #endif { - Get().AddResource(mResourceGet); + IgnoreError(Get().AddResource(mResourceGet)); } bool ActiveDataset::IsPartiallyComplete(void) const @@ -698,7 +698,7 @@ otError ActiveDataset::Save(const Timestamp &aTimestamp, const Message &aMessage SuccessOrExit(error = dataset.Set(aMessage, aOffset, aLength)); dataset.SetTimestamp(aTimestamp); - DatasetManager::Save(dataset); + IgnoreError(DatasetManager::Save(dataset)); exit: return error; @@ -732,7 +732,7 @@ PendingDataset::PendingDataset(Instance &aInstance) , mResourceSet(OT_URI_PATH_PENDING_SET, &PendingDataset::HandleSet, this) #endif { - Get().AddResource(mResourceGet); + IgnoreError(Get().AddResource(mResourceGet)); } void PendingDataset::Clear(void) @@ -747,7 +747,7 @@ void PendingDataset::ClearNetwork(void) mTimestamp.Init(); mTimestampValid = false; - DatasetManager::Save(dataset); + IgnoreError(DatasetManager::Save(dataset)); } otError PendingDataset::Save(const otOperationalDataset &aDataset) @@ -768,7 +768,7 @@ otError PendingDataset::Save(const Timestamp &aTimestamp, const Message &aMessag SuccessOrExit(error = dataset.Set(aMessage, aOffset, aLength)); dataset.SetTimestamp(aTimestamp); - DatasetManager::Save(dataset); + IgnoreError(DatasetManager::Save(dataset)); StartDelayTimer(); exit: @@ -780,7 +780,7 @@ void PendingDataset::StartDelayTimer(void) DelayTimerTlv *delayTimer; Dataset dataset(mLocal.GetType()); - mLocal.Read(dataset); + IgnoreError(mLocal.Read(dataset)); mDelayTimer.Stop(); @@ -809,7 +809,7 @@ void PendingDataset::HandleDelayTimer(void) DelayTimerTlv *delayTimer; Dataset dataset(mLocal.GetType()); - mLocal.Read(dataset); + IgnoreError(mLocal.Read(dataset)); // if the Delay Timer value is larger than what our Timer implementation can handle, we have to compute // the remainder and wait some more. diff --git a/src/core/meshcop/dataset_manager.hpp b/src/core/meshcop/dataset_manager.hpp index 0dbfcafd3..9f5ffe42d 100644 --- a/src/core/meshcop/dataset_manager.hpp +++ b/src/core/meshcop/dataset_manager.hpp @@ -361,7 +361,7 @@ public: * @param[in] aDataset The Operational Dataset. * */ - void Save(const Dataset &aDataset) { DatasetManager::Save(aDataset); } + void Save(const Dataset &aDataset) { IgnoreError(DatasetManager::Save(aDataset)); } /** * This method sets the Operational Dataset for the partition. diff --git a/src/core/meshcop/dataset_manager_ftd.cpp b/src/core/meshcop/dataset_manager_ftd.cpp index 13cb18fce..e80c4a687 100644 --- a/src/core/meshcop/dataset_manager_ftd.cpp +++ b/src/core/meshcop/dataset_manager_ftd.cpp @@ -61,7 +61,7 @@ otError DatasetManager::AppendMleDatasetTlv(Message &aMessage) const { Dataset dataset(mLocal.GetType()); - mLocal.Read(dataset); + IgnoreError(mLocal.Read(dataset)); return dataset.AppendMleDatasetTlv(aMessage); } @@ -190,7 +190,7 @@ otError DatasetManager::HandleSet(Coap::Message &aMessage, const Ip6::MessageInf { // Thread specification allows partial dataset changes for MGMT_ACTIVE_SET.req/MGMT_PENDING_SET.req // from Commissioner based on existing active dataset. - Get().Read(dataset); + IgnoreError(Get().Read(dataset)); } if (type == Tlv::kPendingTimestamp || !doesAffectConnectivity) @@ -256,7 +256,7 @@ otError DatasetManager::HandleSet(Coap::Message &aMessage, const Ip6::MessageInf SuccessOrExit( Get().GetCommissionerAloc(destination, localSessionId->GetCommissionerSessionId())); - Get().SendDatasetChanged(destination); + IgnoreError(Get().SendDatasetChanged(destination)); } exit: @@ -368,7 +368,7 @@ otError ActiveDataset::GenerateLocal(void) VerifyOrExit(Get().IsAttached(), error = OT_ERROR_INVALID_STATE); VerifyOrExit(!mLocal.IsTimestampPresent(), error = OT_ERROR_ALREADY); - mLocal.Read(dataset); + IgnoreError(mLocal.Read(dataset)); if (dataset.GetTlv() == NULL) { @@ -376,7 +376,7 @@ otError ActiveDataset::GenerateLocal(void) activeTimestampTlv.Init(); activeTimestampTlv.SetSeconds(0); activeTimestampTlv.SetTicks(0); - dataset.SetTlv(activeTimestampTlv); + IgnoreError(dataset.SetTlv(activeTimestampTlv)); } if (dataset.GetTlv() == NULL) @@ -384,7 +384,7 @@ otError ActiveDataset::GenerateLocal(void) ChannelTlv tlv; tlv.Init(); tlv.SetChannel(Get().GetPanChannel()); - dataset.SetTlv(tlv); + IgnoreError(dataset.SetTlv(tlv)); } if (dataset.GetTlv() == NULL) @@ -392,42 +392,43 @@ otError ActiveDataset::GenerateLocal(void) ChannelMaskTlv tlv; tlv.Init(); tlv.SetChannelMask(Get().GetSupportedChannelMask().GetMask()); - dataset.SetTlv(tlv); + IgnoreError(dataset.SetTlv(tlv)); } if (dataset.GetTlv() == NULL) { - dataset.SetTlv(Tlv::kExtendedPanId, &Get().GetExtendedPanId(), sizeof(Mac::ExtendedPanId)); + IgnoreError( + dataset.SetTlv(Tlv::kExtendedPanId, &Get().GetExtendedPanId(), sizeof(Mac::ExtendedPanId))); } if (dataset.GetTlv() == NULL) { - dataset.SetTlv(Tlv::kMeshLocalPrefix, &Get().GetMeshLocalPrefix(), - sizeof(Mle::MeshLocalPrefix)); + IgnoreError(dataset.SetTlv(Tlv::kMeshLocalPrefix, &Get().GetMeshLocalPrefix(), + sizeof(Mle::MeshLocalPrefix))); } if (dataset.GetTlv() == NULL) { - dataset.SetTlv(Tlv::kNetworkMasterKey, &Get().GetMasterKey(), sizeof(MasterKey)); + IgnoreError(dataset.SetTlv(Tlv::kNetworkMasterKey, &Get().GetMasterKey(), sizeof(MasterKey))); } if (dataset.GetTlv() == NULL) { Mac::NameData nameData = Get().GetNetworkName().GetAsData(); - dataset.SetTlv(Tlv::kNetworkName, nameData.GetBuffer(), nameData.GetLength()); + IgnoreError(dataset.SetTlv(Tlv::kNetworkName, nameData.GetBuffer(), nameData.GetLength())); } if (dataset.GetTlv() == NULL) { - dataset.SetUint16Tlv(Tlv::kPanId, Get().GetPanId()); + IgnoreError(dataset.SetUint16Tlv(Tlv::kPanId, Get().GetPanId())); } if (dataset.GetTlv() == NULL) { if (Get().IsPskcSet()) { - dataset.SetTlv(Tlv::kPskc, &Get().GetPskc(), sizeof(Pskc)); + IgnoreError(dataset.SetTlv(Tlv::kPskc, &Get().GetPskc(), sizeof(Pskc))); } else { @@ -435,7 +436,7 @@ otError ActiveDataset::GenerateLocal(void) Pskc pskc; SuccessOrExit(error = pskc.GenerateRandom()); - dataset.SetTlv(Tlv::kPskc, &pskc, sizeof(Pskc)); + IgnoreError(dataset.SetTlv(Tlv::kPskc, &pskc, sizeof(Pskc))); } } @@ -445,11 +446,11 @@ otError ActiveDataset::GenerateLocal(void) tlv.Init(); tlv.SetRotationTime(static_cast(Get().GetKeyRotation())); tlv.SetFlags(Get().GetSecurityPolicyFlags()); - dataset.SetTlv(tlv); + IgnoreError(dataset.SetTlv(tlv)); } SuccessOrExit(error = mLocal.Save(dataset)); - Restore(); + IgnoreError(Restore()); otLogInfoMeshCoP("Generated local dataset"); @@ -459,8 +460,8 @@ exit: void ActiveDataset::StartLeader(void) { - GenerateLocal(); - Get().AddResource(mResourceSet); + IgnoreError(GenerateLocal()); + IgnoreError(Get().AddResource(mResourceSet)); } void ActiveDataset::StopLeader(void) @@ -477,7 +478,7 @@ void ActiveDataset::HandleSet(void *aContext, otMessage *aMessage, const otMessa void ActiveDataset::HandleSet(Coap::Message &aMessage, const Ip6::MessageInfo &aMessageInfo) { SuccessOrExit(DatasetManager::HandleSet(aMessage, aMessageInfo)); - ApplyConfiguration(); + IgnoreError(ApplyConfiguration()); exit: return; @@ -486,7 +487,7 @@ exit: void PendingDataset::StartLeader(void) { StartDelayTimer(); - Get().AddResource(mResourceSet); + IgnoreError(Get().AddResource(mResourceSet)); } void PendingDataset::StopLeader(void) @@ -522,15 +523,15 @@ void PendingDataset::ApplyActiveDataset(const Timestamp &aTimestamp, Coap::Messa SuccessOrExit(datasetTlv.ReadFromMessage(aMessage, offset)); offset += static_cast(datasetTlv.GetSize()); - dataset.SetTlv(datasetTlv); + IgnoreError(dataset.SetTlv(datasetTlv)); } // add delay timer tlv - dataset.SetUint32Tlv(Tlv::kDelayTimer, Get().GetDelayTimerMinimal()); + IgnoreError(dataset.SetUint32Tlv(Tlv::kDelayTimer, Get().GetDelayTimerMinimal())); // add pending timestamp tlv dataset.SetTimestamp(aTimestamp); - DatasetManager::Save(dataset); + IgnoreError(DatasetManager::Save(dataset)); // reset delay timer StartDelayTimer(); diff --git a/src/core/meshcop/dtls.cpp b/src/core/meshcop/dtls.cpp index 36f29191f..37bbef899 100644 --- a/src/core/meshcop/dtls.cpp +++ b/src/core/meshcop/dtls.cpp @@ -174,7 +174,7 @@ void Dtls::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageI sockAddr.mAddress = aMessageInfo.GetPeerAddr(); sockAddr.mPort = aMessageInfo.GetPeerPort(); - mSocket.Connect(sockAddr); + IgnoreError(mSocket.Connect(sockAddr)); mPeerAddress.SetPeerAddr(aMessageInfo.GetPeerAddr()); mPeerAddress.SetPeerPort(aMessageInfo.GetPeerPort()); @@ -202,7 +202,7 @@ void Dtls::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageI #ifdef MBEDTLS_SSL_SRV_C if (mState == MeshCoP::Dtls::kStateConnecting) { - SetClientId(mPeerAddress.GetPeerAddr().mFields.m8, sizeof(mPeerAddress.GetPeerAddr().mFields)); + IgnoreError(SetClientId(mPeerAddress.GetPeerAddr().mFields.m8, sizeof(mPeerAddress.GetPeerAddr().mFields))); } #endif @@ -414,7 +414,7 @@ void Dtls::Close(void) mTransportContext = NULL; mTimerSet = false; - mSocket.Close(); + IgnoreError(mSocket.Close()); mTimer.Stop(); } @@ -427,7 +427,7 @@ void Dtls::Disconnect(void) mTimer.Start(kGuardTimeNewConnectionMilli); new (&mPeerAddress) Ip6::MessageInfo(); - mSocket.Connect(Ip6::SockAddr()); + IgnoreError(mSocket.Connect(Ip6::SockAddr())); FreeMbedtls(); @@ -636,7 +636,7 @@ int Dtls::HandleMbedtlsReceive(unsigned char *aBuf, size_t aLength) } rval = mReceiveMessage->Read(mReceiveMessage->GetOffset(), static_cast(aLength), aBuf); - mReceiveMessage->MoveOffset(rval); + IgnoreError(mReceiveMessage->MoveOffset(rval)); exit: return rval; diff --git a/src/core/meshcop/energy_scan_client.cpp b/src/core/meshcop/energy_scan_client.cpp index 7b64635d1..0cee3e573 100644 --- a/src/core/meshcop/energy_scan_client.cpp +++ b/src/core/meshcop/energy_scan_client.cpp @@ -55,7 +55,7 @@ EnergyScanClient::EnergyScanClient(Instance &aInstance) { mContext = NULL; mCallback = NULL; - Get().AddResource(mEnergyScan); + IgnoreError(Get().AddResource(mEnergyScan)); } otError EnergyScanClient::SendQuery(uint32_t aChannelMask, diff --git a/src/core/meshcop/joiner.cpp b/src/core/meshcop/joiner.cpp index 74c3d6024..c3d223cd3 100644 --- a/src/core/meshcop/joiner.cpp +++ b/src/core/meshcop/joiner.cpp @@ -65,7 +65,7 @@ Joiner::Joiner(Instance &aInstance) , mJoinerEntrust(OT_URI_PATH_JOINER_ENTRUST, &Joiner::HandleJoinerEntrust, this) { memset(mJoinerRouters, 0, sizeof(mJoinerRouters)); - Get().AddResource(mJoinerEntrust); + IgnoreError(Get().AddResource(mJoinerEntrust)); } void Joiner::GetJoinerId(Mac::ExtAddress &aJoinerId) const @@ -158,7 +158,7 @@ void Joiner::Finish(otError aError) case OT_JOINER_STATE_ENTRUST: case OT_JOINER_STATE_JOINED: Get().Disconnect(); - Get().RemoveUnsecurePort(kJoinerUdpPort); + IgnoreError(Get().RemoveUnsecurePort(kJoinerUdpPort)); mTimer.Stop(); // Fall through @@ -405,7 +405,7 @@ otError Joiner::PrepareJoinerFinalizeMessage(const char *aProvisioningUrl, mFinalizeMessage->Init(OT_COAP_TYPE_CONFIRMABLE, OT_COAP_CODE_POST); SuccessOrExit(error = mFinalizeMessage->AppendUriPathOptions(OT_URI_PATH_JOINER_FINALIZE)); SuccessOrExit(error = mFinalizeMessage->SetPayloadMarker()); - mFinalizeMessage->SetOffset(mFinalizeMessage->GetLength()); + IgnoreError(mFinalizeMessage->SetOffset(mFinalizeMessage->GetLength())); SuccessOrExit(error = Tlv::AppendUint8Tlv(*mFinalizeMessage, Tlv::kState, StateTlv::kAccept)); @@ -515,7 +515,7 @@ void Joiner::HandleJoinerFinalizeResponse(Coap::Message & aMessage, exit: Get().Disconnect(); - Get().RemoveUnsecurePort(kJoinerUdpPort); + IgnoreError(Get().RemoveUnsecurePort(kJoinerUdpPort)); } void Joiner::HandleJoinerEntrust(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) @@ -547,7 +547,7 @@ void Joiner::HandleJoinerEntrust(Coap::Message &aMessage, const Ip6::MessageInfo dataset.mPanId = Get().GetPanId(); dataset.mComponents.mIsPanIdPresent = true; - Get().Save(dataset); + IgnoreError(Get().Save(dataset)); otLogInfoMeshCoP("Joiner successful!"); diff --git a/src/core/meshcop/joiner_router.cpp b/src/core/meshcop/joiner_router.cpp index 2b62d2fa1..cf6cdcc2f 100644 --- a/src/core/meshcop/joiner_router.cpp +++ b/src/core/meshcop/joiner_router.cpp @@ -63,7 +63,7 @@ JoinerRouter::JoinerRouter(Instance &aInstance) , mIsJoinerPortConfigured(false) , mExpectJoinEntRsp(false) { - Get().AddResource(mRelayTransmit); + IgnoreError(Get().AddResource(mRelayTransmit)); } void JoinerRouter::HandleStateChanged(Notifier::Callback &aCallback, otChangedFlags aFlags) @@ -84,18 +84,18 @@ void JoinerRouter::HandleStateChanged(otChangedFlags aFlags) sockaddr.mPort = GetJoinerUdpPort(); - mSocket.Open(&JoinerRouter::HandleUdpReceive, this); - mSocket.Bind(sockaddr); - Get().AddUnsecurePort(sockaddr.mPort); + IgnoreError(mSocket.Open(&JoinerRouter::HandleUdpReceive, this)); + IgnoreError(mSocket.Bind(sockaddr)); + IgnoreError(Get().AddUnsecurePort(sockaddr.mPort)); otLogInfoMeshCoP("Joiner Router: start"); } else { VerifyOrExit(mSocket.IsBound(), OT_NOOP); - Get().RemoveUnsecurePort(mSocket.GetSockName().mPort); + IgnoreError(Get().RemoveUnsecurePort(mSocket.GetSockName().mPort)); - mSocket.Close(); + IgnoreError(mSocket.Close()); } exit: @@ -222,7 +222,7 @@ void JoinerRouter::HandleRelayTransmit(Coap::Message &aMessage, const Ip6::Messa { otLogInfoMeshCoP("Received kek"); - DelaySendingJoinerEntrust(messageInfo, kek); + IgnoreError(DelaySendingJoinerEntrust(messageInfo, kek)); } exit: @@ -247,7 +247,7 @@ otError JoinerRouter::DelaySendingJoinerEntrust(const Ip6::MessageInfo &aMessage SuccessOrExit(error = metadata.AppendTo(*message)); - mDelayedJoinEnts.Enqueue(*message); + IgnoreError(mDelayedJoinEnts.Enqueue(*message)); if (!mTimer.IsRunning()) { @@ -296,7 +296,7 @@ void JoinerRouter::SendDelayedJoinerEntrust(void) } else { - mDelayedJoinEnts.Dequeue(*message); + IgnoreError(mDelayedJoinEnts.Dequeue(*message)); message->Free(); Get().SetKek(metadata.mKek); @@ -319,7 +319,7 @@ otError JoinerRouter::SendJoinerEntrust(const Ip6::MessageInfo &aMessageInfo) message = PrepareJoinerEntrustMessage(); VerifyOrExit(message != NULL, error = OT_ERROR_NO_BUFS); - Get().AbortTransaction(&JoinerRouter::HandleJoinerEntrustResponse, this); + IgnoreError(Get().AbortTransaction(&JoinerRouter::HandleJoinerEntrustResponse, this)); otLogInfoMeshCoP("Sending JOIN_ENT.ntf"); SuccessOrExit(error = Get().SendMessage(*message, aMessageInfo, @@ -368,7 +368,7 @@ Coap::Message *JoinerRouter::PrepareJoinerEntrustMessage(void) networkName.SetNetworkName(Get().GetNetworkName().GetAsData()); SuccessOrExit(error = networkName.AppendTo(*message)); - Get().Read(dataset); + IgnoreError(Get().Read(dataset)); if ((tlv = dataset.GetTlv()) != NULL) { diff --git a/src/core/meshcop/meshcop_leader.cpp b/src/core/meshcop/meshcop_leader.cpp index 8fea97695..7d5c734df 100644 --- a/src/core/meshcop/meshcop_leader.cpp +++ b/src/core/meshcop/meshcop_leader.cpp @@ -60,8 +60,8 @@ Leader::Leader(Instance &aInstance) , mDelayTimerMinimal(DelayTimerTlv::kDelayTimerMinimal) , mSessionId(Random::NonCrypto::GetUint16()) { - Get().AddResource(mPetition); - Get().AddResource(mKeepAlive); + IgnoreError(Get().AddResource(mPetition)); + IgnoreError(Get().AddResource(mKeepAlive)); } void Leader::HandlePetition(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) @@ -117,7 +117,7 @@ void Leader::HandlePetition(Coap::Message &aMessage, const Ip6::MessageInfo &aMe mTimer.Start(Time::SecToMsec(kTimeoutLeaderPetition)); exit: - SendPetitionResponse(aMessage, aMessageInfo, state); + IgnoreError(SendPetitionResponse(aMessage, aMessageInfo, state)); } otError Leader::SendPetitionResponse(const Coap::Message & aRequest, @@ -203,7 +203,7 @@ void Leader::HandleKeepAlive(Coap::Message &aMessage, const Ip6::MessageInfo &aM mTimer.Start(Time::SecToMsec(kTimeoutLeaderPetition)); } - SendKeepAliveResponse(aMessage, aMessageInfo, responseState); + IgnoreError(SendKeepAliveResponse(aMessage, aMessageInfo, responseState)); exit: return; @@ -302,8 +302,8 @@ void Leader::SetEmptyCommissionerData(void) mCommissionerSessionId.Init(); mCommissionerSessionId.SetCommissionerSessionId(++mSessionId); - Get().SetCommissioningData(reinterpret_cast(&mCommissionerSessionId), - sizeof(Tlv) + mCommissionerSessionId.GetLength()); + IgnoreError(Get().SetCommissioningData(reinterpret_cast(&mCommissionerSessionId), + sizeof(Tlv) + mCommissionerSessionId.GetLength())); } void Leader::ResignCommissioner(void) diff --git a/src/core/meshcop/panid_query_client.cpp b/src/core/meshcop/panid_query_client.cpp index 1fa2dea4a..7eb0526d5 100644 --- a/src/core/meshcop/panid_query_client.cpp +++ b/src/core/meshcop/panid_query_client.cpp @@ -54,7 +54,7 @@ PanIdQueryClient::PanIdQueryClient(Instance &aInstance) , mContext(NULL) , mPanIdQuery(OT_URI_PATH_PANID_CONFLICT, &PanIdQueryClient::HandleConflict, this) { - Get().AddResource(mPanIdQuery); + IgnoreError(Get().AddResource(mPanIdQuery)); } otError PanIdQueryClient::SendQuery(uint16_t aPanId, diff --git a/src/core/net/dhcp6_client.cpp b/src/core/net/dhcp6_client.cpp index e53295e75..36453f67e 100644 --- a/src/core/net/dhcp6_client.cpp +++ b/src/core/net/dhcp6_client.cpp @@ -104,7 +104,7 @@ void Dhcp6Client::UpdateAddresses(void) if (!found) { - Get().RemoveUnicastAddress(ia.mNetifAddress); + IgnoreError(Get().RemoveUnicastAddress(ia.mNetifAddress)); mIdentityAssociations[i].mStatus = kIaStatusInvalid; } } @@ -173,15 +173,15 @@ void Dhcp6Client::Start(void) Ip6::SockAddr sockaddr; sockaddr.mPort = kDhcpClientPort; - mSocket.Open(&Dhcp6Client::HandleUdpReceive, this); - mSocket.Bind(sockaddr); + IgnoreError(mSocket.Open(&Dhcp6Client::HandleUdpReceive, this)); + IgnoreError(mSocket.Bind(sockaddr)); ProcessNextIdentityAssociation(); } void Dhcp6Client::Stop(void) { - mSocket.Close(); + IgnoreError(mSocket.Close()); } bool Dhcp6Client::ProcessNextIdentityAssociation() @@ -202,12 +202,12 @@ bool Dhcp6Client::ProcessNextIdentityAssociation() } // new transaction id - Random::Crypto::FillBuffer(mTransactionId, kTransactionIdSize); + IgnoreError(Random::Crypto::FillBuffer(mTransactionId, kTransactionIdSize)); mIdentityAssociationCurrent = &mIdentityAssociations[i]; - mTrickleTimer.Start(Time::SecToMsec(kTrickleTimerImin), Time::SecToMsec(kTrickleTimerImax), - TrickleTimer::kModeNormal); + IgnoreError(mTrickleTimer.Start(Time::SecToMsec(kTrickleTimerImin), Time::SecToMsec(kTrickleTimerImax), + TrickleTimer::kModeNormal)); mTrickleTimer.IndicateInconsistent(); @@ -238,7 +238,7 @@ bool Dhcp6Client::HandleTrickleTimer(void) // fall through case kIaStatusSoliciting: - Solicit(mIdentityAssociationCurrent->mPrefixAgentRloc); + IgnoreError(Solicit(mIdentityAssociationCurrent->mPrefixAgentRloc)); break; case kIaStatusSolicitReplied: @@ -416,7 +416,7 @@ void Dhcp6Client::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aM Dhcp6Header header; VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(header), &header) == sizeof(header), OT_NOOP); - aMessage.MoveOffset(sizeof(header)); + IgnoreError(aMessage.MoveOffset(sizeof(header))); if ((header.GetType() == kTypeReply) && (!memcmp(header.GetTransactionId(), mTransactionId, kTransactionIdSize))) { @@ -588,7 +588,7 @@ otError Dhcp6Client::ProcessIaAddress(Message &aMessage, uint16_t aOffset) mIdentityAssociations[i].mNetifAddress.mPreferred = option.GetPreferredLifetime() != 0; mIdentityAssociations[i].mNetifAddress.mValid = option.GetValidLifetime() != 0; mIdentityAssociations[i].mStatus = kIaStatusSolicitReplied; - Get().AddUnicastAddress(ia.mNetifAddress); + IgnoreError(Get().AddUnicastAddress(ia.mNetifAddress)); break; } } diff --git a/src/core/net/dhcp6_server.cpp b/src/core/net/dhcp6_server.cpp index 7ef936beb..19985fb27 100644 --- a/src/core/net/dhcp6_server.cpp +++ b/src/core/net/dhcp6_server.cpp @@ -114,7 +114,7 @@ otError Dhcp6Server::UpdateService(void) if (error == OT_ERROR_NONE) { - AddPrefixAgent(config.mPrefix, lowpanContext); + IgnoreError(AddPrefixAgent(config.mPrefix, lowpanContext)); } } @@ -135,13 +135,13 @@ void Dhcp6Server::Start(void) Ip6::SockAddr sockaddr; sockaddr.mPort = kDhcpServerPort; - mSocket.Open(&Dhcp6Server::HandleUdpReceive, this); - mSocket.Bind(sockaddr); + IgnoreError(mSocket.Open(&Dhcp6Server::HandleUdpReceive, this)); + IgnoreError(mSocket.Bind(sockaddr)); } void Dhcp6Server::Stop(void) { - mSocket.Close(); + IgnoreError(mSocket.Close()); } otError Dhcp6Server::AddPrefixAgent(const otIp6Prefix &aIp6Prefix, const Lowpan::Context &aContext) @@ -165,7 +165,7 @@ otError Dhcp6Server::AddPrefixAgent(const otIp6Prefix &aIp6Prefix, const Lowpan: VerifyOrExit(newEntry != NULL, error = OT_ERROR_NO_BUFS); newEntry->Set(aIp6Prefix, Get().GetMeshLocalPrefix(), aContext.mContextId); - Get().AddUnicastAddress(newEntry->GetAloc()); + IgnoreError(Get().AddUnicastAddress(newEntry->GetAloc())); mPrefixAgentsCount++; exit: @@ -184,7 +184,7 @@ void Dhcp6Server::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aM otIp6Address dst = aMessageInfo.mPeerAddr; VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(header), &header) == sizeof(header), OT_NOOP); - aMessage.MoveOffset(sizeof(header)); + IgnoreError(aMessage.MoveOffset(sizeof(header))); // discard if not solicit type VerifyOrExit((header.GetType() == kTypeSolicit), OT_NOOP); @@ -489,9 +489,9 @@ void Dhcp6Server::ApplyMeshLocalPrefix(void) if (mPrefixAgents[i].IsValid()) { PrefixAgent *entry = &mPrefixAgents[i]; - Get().RemoveUnicastAddress(entry->GetAloc()); + IgnoreError(Get().RemoveUnicastAddress(entry->GetAloc())); entry->GetAloc().GetAddress().SetPrefix(Get().GetMeshLocalPrefix()); - Get().AddUnicastAddress(entry->GetAloc()); + IgnoreError(Get().AddUnicastAddress(entry->GetAloc())); } } } diff --git a/src/core/net/dns_client.cpp b/src/core/net/dns_client.cpp index 277e0dce4..9ea77ea25 100644 --- a/src/core/net/dns_client.cpp +++ b/src/core/net/dns_client.cpp @@ -172,8 +172,8 @@ Message *Client::NewMessage(const Header &aHeader) Message *message = NULL; VerifyOrExit((message = mSocket.NewMessage(sizeof(aHeader))) != NULL, OT_NOOP); - message->Prepend(&aHeader, sizeof(aHeader)); - message->SetOffset(0); + IgnoreError(message->Prepend(&aHeader, sizeof(aHeader))); + IgnoreError(message->SetOffset(0)); exit: return message; @@ -189,7 +189,7 @@ Message *Client::CopyAndEnqueueMessage(const Message &aMessage, const QueryMetad // Append the copy with retransmission data and add it to the queue. SuccessOrExit(error = aQueryMetadata.AppendTo(*messageCopy)); - mPendingQueries.Enqueue(*messageCopy); + IgnoreError(mPendingQueries.Enqueue(*messageCopy)); mRetransmissionTimer.FireAtIfEarlier(aQueryMetadata.mTransmissionTime); @@ -206,7 +206,7 @@ exit: void Client::DequeueMessage(Message &aMessage) { - mPendingQueries.Dequeue(aMessage); + IgnoreError(mPendingQueries.Dequeue(aMessage)); if (mRetransmissionTimer.IsRunning() && (mPendingQueries.GetHead() == NULL)) { @@ -435,7 +435,7 @@ void Client::HandleRetransmissionTimer(void) messageInfo.SetPeerPort(queryMetadata.mDestinationPort); messageInfo.SetSockAddr(queryMetadata.mSourceAddress); - SendCopy(*message, messageInfo); + IgnoreError(SendCopy(*message, messageInfo)); } if (nextTime > queryMetadata.mTransmissionTime) @@ -475,7 +475,7 @@ void Client::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessag !responseHeader.IsTruncationFlagSet(), OT_NOOP); - aMessage.MoveOffset(sizeof(responseHeader)); + IgnoreError(aMessage.MoveOffset(sizeof(responseHeader))); offset = aMessage.GetOffset(); VerifyOrExit((message = FindRelatedQuery(responseHeader, queryMetadata)) != NULL, OT_NOOP); diff --git a/src/core/net/icmp6.cpp b/src/core/net/icmp6.cpp index 51c7e9a51..54332bfa1 100644 --- a/src/core/net/icmp6.cpp +++ b/src/core/net/icmp6.cpp @@ -78,7 +78,7 @@ otError Icmp::SendEchoRequest(Message &aMessage, const MessageInfo &aMessageInfo icmpHeader.SetSequence(mEchoSequence++); SuccessOrExit(error = aMessage.Prepend(&icmpHeader, sizeof(icmpHeader))); - aMessage.SetOffset(0); + IgnoreError(aMessage.SetOffset(0)); SuccessOrExit(error = Get().SendDatagram(aMessage, messageInfoLocal, kProtoIcmp6)); otLogInfoIcmp("Sent echo request: (seq = %d)", icmpHeader.GetSequence()); @@ -158,7 +158,7 @@ otError Icmp::HandleMessage(Message &aMessage, MessageInfo &aMessageInfo) SuccessOrExit(error = HandleEchoRequest(aMessage, aMessageInfo)); } - aMessage.MoveOffset(sizeof(icmp6Header)); + IgnoreError(aMessage.MoveOffset(sizeof(icmp6Header))); for (IcmpHandler *handler = mHandlers.GetHead(); handler; handler = handler->GetNext()) { diff --git a/src/core/net/ip6.cpp b/src/core/net/ip6.cpp index 38f1dd749..7636a7d5d 100644 --- a/src/core/net/ip6.cpp +++ b/src/core/net/ip6.cpp @@ -313,7 +313,7 @@ otError Ip6::InsertMplOption(Message &aMessage, Header &aHeader, MessageInfo &aM if ((messageCopy = aMessage.Clone()) != NULL) { - HandleDatagram(*messageCopy, NULL, NULL, true); + IgnoreError(HandleDatagram(*messageCopy, NULL, NULL, true)); otLogInfoIp6("Message copy for indirect transmission to sleepy children"); } else @@ -448,8 +448,8 @@ exit: void Ip6::EnqueueDatagram(Message &aMessage) { - mSendQueue.Enqueue(aMessage); - mSendQueueTask.Post(); + IgnoreError(mSendQueue.Enqueue(aMessage)); + IgnoreError(mSendQueueTask.Post()); } otError Ip6::SendDatagram(Message &aMessage, MessageInfo &aMessageInfo, uint8_t aIpProto) @@ -560,8 +560,8 @@ void Ip6::HandleSendQueue(void) while ((message = mSendQueue.GetHead()) != NULL) { - mSendQueue.Dequeue(*message); - HandleDatagram(*message, NULL, NULL, false); + IgnoreError(mSendQueue.Dequeue(*message)); + IgnoreError(HandleDatagram(*message, NULL, NULL, false)); } } @@ -578,7 +578,7 @@ otError Ip6::HandleOptions(Message &aMessage, Header &aHeader, bool &aForward) VerifyOrExit(endOffset <= aMessage.GetLength(), error = OT_ERROR_PARSE); - aMessage.MoveOffset(sizeof(optionHeader)); + IgnoreError(aMessage.MoveOffset(sizeof(optionHeader))); while (aMessage.GetOffset() < endOffset) { @@ -587,7 +587,7 @@ otError Ip6::HandleOptions(Message &aMessage, Header &aHeader, bool &aForward) if (optionHeader.GetType() == OptionPad1::kType) { - aMessage.MoveOffset(sizeof(OptionPad1)); + IgnoreError(aMessage.MoveOffset(sizeof(OptionPad1))); continue; } @@ -621,7 +621,7 @@ otError Ip6::HandleOptions(Message &aMessage, Header &aHeader, bool &aForward) break; } - aMessage.MoveOffset(sizeof(optionHeader) + optionHeader.GetLength()); + IgnoreError(aMessage.MoveOffset(sizeof(optionHeader) + optionHeader.GetLength())); } exit: @@ -775,7 +775,7 @@ otError Ip6::HandleFragment(Message &aMessage, Netif *aNetif, MessageInfo &aMess mTimer.Start(kStateUpdatePeriod); } - mReassemblyList.Enqueue(*message); + IgnoreError(mReassemblyList.Enqueue(*message)); otLogDebgIp6("start reassembly."); } @@ -818,7 +818,7 @@ otError Ip6::HandleFragment(Message &aMessage, Netif *aNetif, MessageInfo &aMess otLogDebgIp6("Reassembly complete."); - mReassemblyList.Dequeue(*message); + IgnoreError(mReassemblyList.Dequeue(*message)); error = HandleDatagram(*message, aNetif, aMessageInfo.mLinkInfo, aFromNcpHost); } @@ -828,7 +828,7 @@ exit: { if (message != NULL) { - mReassemblyList.Dequeue(*message); + IgnoreError(mReassemblyList.Dequeue(*message)); message->Free(); } otLogWarnIp6("Reassembly failed: %s", otThreadErrorToString(error)); @@ -847,7 +847,7 @@ void Ip6::CleanupFragmentationBuffer(void) for (Message *message = mReassemblyList.GetHead(); message;) { Message *next = message->GetNext(); - mReassemblyList.Dequeue(*message); + IgnoreError(mReassemblyList.Dequeue(*message)); message->Free(); message = next; @@ -884,9 +884,9 @@ void Ip6::UpdateReassemblyList(void) else { otLogNoteIp6("Reassembly timeout."); - SendIcmpError(*message, IcmpHeader::kTypeTimeExceeded, IcmpHeader::kCodeFragmReasTimeEx); + IgnoreError(SendIcmpError(*message, IcmpHeader::kTypeTimeExceeded, IcmpHeader::kCodeFragmReasTimeEx)); - mReassemblyList.Dequeue(*message); + IgnoreError(mReassemblyList.Dequeue(*message)); message->Free(); } } @@ -935,7 +935,7 @@ otError Ip6::HandleFragment(Message &aMessage, Netif *aNetif, MessageInfo &aMess VerifyOrExit(fragmentHeader.GetOffset() == 0 && !fragmentHeader.IsMoreFlagSet(), error = OT_ERROR_DROP); - aMessage.MoveOffset(sizeof(fragmentHeader)); + IgnoreError(aMessage.MoveOffset(sizeof(fragmentHeader))); exit: return error; @@ -1094,7 +1094,7 @@ otError Ip6::ProcessReceiveCallback(const Message & aMessage, // make a copy of the datagram to pass to host VerifyOrExit((messageCopy = aMessage.Clone()) != NULL, error = OT_ERROR_NO_BUFS); - RemoveMplOption(*messageCopy); + IgnoreError(RemoveMplOption(*messageCopy)); mReceiveIp6DatagramCallback(messageCopy, mReceiveIp6DatagramCallbackContext); exit: @@ -1210,7 +1210,7 @@ otError Ip6::HandleDatagram(Message &aMessage, Netif *aNetif, const void *aLinkM } } - aMessage.SetOffset(sizeof(header)); + IgnoreError(aMessage.SetOffset(sizeof(header))); // process IPv6 Extension Headers nextHeader = static_cast(header.GetNextHeader()); @@ -1225,7 +1225,7 @@ otError Ip6::HandleDatagram(Message &aMessage, Netif *aNetif, const void *aLinkM // Remove encapsulating header. aMessage.RemoveHeader(aMessage.GetOffset()); - HandleDatagram(aMessage, aNetif, aLinkMessageInfo, aFromNcpHost); + IgnoreError(HandleDatagram(aMessage, aNetif, aLinkMessageInfo, aFromNcpHost)); ExitNow(tunnel = true); } @@ -1246,13 +1246,13 @@ otError Ip6::HandleDatagram(Message &aMessage, Netif *aNetif, const void *aLinkM } #endif - ProcessReceiveCallback(aMessage, messageInfo, nextHeader, aFromNcpHost); + IgnoreError(ProcessReceiveCallback(aMessage, messageInfo, nextHeader, aFromNcpHost)); SuccessOrExit(error = HandlePayload(aMessage, messageInfo, nextHeader)); } else if (multicastPromiscuous) { - ProcessReceiveCallback(aMessage, messageInfo, nextHeader, aFromNcpHost); + IgnoreError(ProcessReceiveCallback(aMessage, messageInfo, nextHeader, aFromNcpHost)); } if (forward) diff --git a/src/core/net/ip6_mpl.cpp b/src/core/net/ip6_mpl.cpp index 73cf7b399..0abb0df01 100644 --- a/src/core/net/ip6_mpl.cpp +++ b/src/core/net/ip6_mpl.cpp @@ -326,7 +326,7 @@ void Mpl::AddBufferedMessage(Message &aMessage, uint16_t aSeedId, uint8_t aSeque metadata.GenerateNextTransmissionTime(TimerMilli::GetNow(), interval); SuccessOrExit(error = metadata.AppendTo(*messageCopy)); - mBufferedMessageSet.Enqueue(*messageCopy); + IgnoreError(mBufferedMessageSet.Enqueue(*messageCopy)); mRetransmissionTimer.FireAtIfEarlier(metadata.mTransmissionTime); @@ -393,7 +393,7 @@ void Mpl::HandleRetransmissionTimer(void) } else { - mBufferedMessageSet.Dequeue(*message); + IgnoreError(mBufferedMessageSet.Dequeue(*message)); if (metadata.mTransmissionCount == GetTimerExpirations()) { diff --git a/src/core/net/netif.cpp b/src/core/net/netif.cpp index a7b5f7bb8..c01e173d6 100644 --- a/src/core/net/netif.cpp +++ b/src/core/net/netif.cpp @@ -428,7 +428,7 @@ void Netif::UnsubscribeAllExternalMulticastAddresses(void) { if (entry->IsInUse()) { - UnsubscribeExternalMulticast(entry->GetAddress()); + IgnoreError(UnsubscribeExternalMulticast(entry->GetAddress())); } } } @@ -543,7 +543,7 @@ void Netif::RemoveAllExternalUnicastAddresses(void) { if (entry->IsInUse()) { - RemoveExternalUnicastAddress(entry->GetAddress()); + IgnoreError(RemoveExternalUnicastAddress(entry->GetAddress())); } } } diff --git a/src/core/net/sntp_client.cpp b/src/core/net/sntp_client.cpp index 4ad39e596..2ce316670 100644 --- a/src/core/net/sntp_client.cpp +++ b/src/core/net/sntp_client.cpp @@ -178,8 +178,8 @@ Message *Client::NewMessage(const Header &aHeader) Message *message = NULL; VerifyOrExit((message = mSocket.NewMessage(sizeof(aHeader))) != NULL, OT_NOOP); - message->Prepend(&aHeader, sizeof(aHeader)); - message->SetOffset(0); + IgnoreError(message->Prepend(&aHeader, sizeof(aHeader))); + IgnoreError(message->SetOffset(0)); exit: return message; @@ -195,7 +195,7 @@ Message *Client::CopyAndEnqueueMessage(const Message &aMessage, const QueryMetad // Append the copy with retransmission data and add it to the queue. SuccessOrExit(error = aQueryMetadata.AppendTo(*messageCopy)); - mPendingQueries.Enqueue(*messageCopy); + IgnoreError(mPendingQueries.Enqueue(*messageCopy)); mRetransmissionTimer.FireAtIfEarlier(aQueryMetadata.mTransmissionTime); @@ -212,7 +212,7 @@ exit: void Client::DequeueMessage(Message &aMessage) { - mPendingQueries.Dequeue(aMessage); + IgnoreError(mPendingQueries.Dequeue(aMessage)); if (mRetransmissionTimer.IsRunning() && (mPendingQueries.GetHead() == NULL)) { @@ -325,7 +325,7 @@ void Client::HandleRetransmissionTimer(void) messageInfo.SetPeerPort(queryMetadata.mDestinationPort); messageInfo.SetSockAddr(queryMetadata.mSourceAddress); - SendCopy(*message, messageInfo); + IgnoreError(SendCopy(*message, messageInfo)); } if (nextTime > queryMetadata.mTransmissionTime) diff --git a/src/core/net/udp6.cpp b/src/core/net/udp6.cpp index 239d1407f..c95ce59fd 100644 --- a/src/core/net/udp6.cpp +++ b/src/core/net/udp6.cpp @@ -232,7 +232,7 @@ exit: void Udp::AddSocket(UdpSocket &aSocket) { - mSockets.Add(aSocket); + IgnoreError(mSockets.Add(aSocket)); } void Udp::RemoveSocket(UdpSocket &aSocket) @@ -288,7 +288,7 @@ otError Udp::SendDatagram(Message &aMessage, MessageInfo &aMessageInfo, uint8_t udpHeader.SetChecksum(0); SuccessOrExit(error = aMessage.Prepend(&udpHeader, sizeof(udpHeader))); - aMessage.SetOffset(0); + IgnoreError(aMessage.SetOffset(0)); error = Get().SendDatagram(aMessage, aMessageInfo, aIpProto); } @@ -320,7 +320,7 @@ otError Udp::HandleMessage(Message &aMessage, MessageInfo &aMessageInfo) VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(udpHeader), &udpHeader) == sizeof(udpHeader), error = OT_ERROR_PARSE); - aMessage.MoveOffset(sizeof(udpHeader)); + IgnoreError(aMessage.MoveOffset(sizeof(udpHeader))); aMessageInfo.mPeerPort = udpHeader.GetSourcePort(); aMessageInfo.mSockPort = udpHeader.GetDestinationPort(); diff --git a/src/core/thread/address_resolver.cpp b/src/core/thread/address_resolver.cpp index 9da18fd8d..7eb96424c 100644 --- a/src/core/thread/address_resolver.cpp +++ b/src/core/thread/address_resolver.cpp @@ -71,11 +71,11 @@ AddressResolver::AddressResolver(Instance &aInstance) mUnusedList.Push(*entry); } - Get().AddResource(mAddressError); - Get().AddResource(mAddressQuery); - Get().AddResource(mAddressNotification); + IgnoreError(Get().AddResource(mAddressError)); + IgnoreError(Get().AddResource(mAddressQuery)); + IgnoreError(Get().AddResource(mAddressNotification)); - Get().RegisterHandler(mIcmpHandler); + IgnoreError(Get().RegisterHandler(mIcmpHandler)); } void AddressResolver::Clear(void) @@ -465,7 +465,7 @@ void AddressResolver::RestartAddressQueries(void) for (CacheEntry *entry = mQueryList.GetHead(); entry != NULL; entry = entry->GetNext()) { - SendAddressQuery(entry->GetTarget()); + IgnoreError(SendAddressQuery(entry->GetTarget())); entry->SetTimeout(kAddressQueryTimeout); entry->SetRetryDelay(kAddressQueryInitialRetryDelay); @@ -634,7 +634,8 @@ void AddressResolver::HandleAddressNotification(Coap::Message &aMessage, const I // by more than one device. Try to resolve the duplicate // address by sending an Address Error message. - VerifyOrExit(entry->HasMeshLocalIid(meshLocalIid), SendAddressError(target, meshLocalIid, NULL)); + VerifyOrExit(entry->HasMeshLocalIid(meshLocalIid), + IgnoreError(SendAddressError(target, meshLocalIid, NULL))); VerifyOrExit(lastTransactionTime < entry->GetLastTransactionTime(), OT_NOOP); } @@ -740,7 +741,7 @@ void AddressResolver::HandleAddressError(Coap::Message &aMessage, const Ip6::Mes memcmp(Get().GetMeshLocal64().GetIid(), meshLocalIid, sizeof(meshLocalIid))) { // Target EID matches address and Mesh Local EID differs - Get().RemoveUnicastAddress(*address); + IgnoreError(Get().RemoveUnicastAddress(*address)); ExitNow(); } } @@ -766,7 +767,7 @@ void AddressResolver::HandleAddressError(Coap::Message &aMessage, const Ip6::Mes { SuccessOrExit(error = Get().GetLocatorAddress(destination, child.GetRloc16())); - SendAddressError(target, meshLocalIid, &destination); + IgnoreError(SendAddressError(target, meshLocalIid, &destination)); ExitNow(); } } diff --git a/src/core/thread/announce_begin_server.cpp b/src/core/thread/announce_begin_server.cpp index cd135a7a3..c8ce16731 100644 --- a/src/core/thread/announce_begin_server.cpp +++ b/src/core/thread/announce_begin_server.cpp @@ -51,7 +51,7 @@ AnnounceBeginServer::AnnounceBeginServer(Instance &aInstance) : AnnounceSenderBase(aInstance, &AnnounceBeginServer::HandleTimer) , mAnnounceBegin(OT_URI_PATH_ANNOUNCE_BEGIN, &AnnounceBeginServer::HandleRequest, this) { - Get().AddResource(mAnnounceBegin); + IgnoreError(Get().AddResource(mAnnounceBegin)); } otError AnnounceBeginServer::SendAnnounce(uint32_t aChannelMask) @@ -83,7 +83,7 @@ void AnnounceBeginServer::HandleRequest(Coap::Message &aMessage, const Ip6::Mess SuccessOrExit(Tlv::ReadUint8Tlv(aMessage, MeshCoP::Tlv::kCount, count)); SuccessOrExit(Tlv::ReadUint16Tlv(aMessage, MeshCoP::Tlv::kPeriod, period)); - SendAnnounce(mask, count, period); + IgnoreError(SendAnnounce(mask, count, period)); if (aMessage.IsConfirmable() && !aMessageInfo.GetSockAddr().IsMulticast()) { diff --git a/src/core/thread/announce_sender.cpp b/src/core/thread/announce_sender.cpp index 820e287a5..d46d22436 100644 --- a/src/core/thread/announce_sender.cpp +++ b/src/core/thread/announce_sender.cpp @@ -102,7 +102,7 @@ void AnnounceSenderBase::HandleTimer(void) OT_ASSERT(error == OT_ERROR_NONE); - Get().SendAnnounce(mChannel, false); + IgnoreError(Get().SendAnnounce(mChannel, false)); mTimer.Start(Random::NonCrypto::AddJitter(mPeriod, mJitter)); @@ -165,7 +165,7 @@ void AnnounceSender::CheckState(void) VerifyOrExit(!IsRunning() || (period != GetPeriod()) || (GetChannelMask() != channelMask), OT_NOOP); - SendAnnounce(channelMask, 0, period, kMaxJitter); + IgnoreError(SendAnnounce(channelMask, 0, period, kMaxJitter)); otLogInfoMle("Starting periodic MLE Announcements tx, period %u, mask %s", period, channelMask.ToString().AsCString()); diff --git a/src/core/thread/energy_scan_server.cpp b/src/core/thread/energy_scan_server.cpp index 51a95882b..4eb585b29 100644 --- a/src/core/thread/energy_scan_server.cpp +++ b/src/core/thread/energy_scan_server.cpp @@ -59,7 +59,7 @@ EnergyScanServer::EnergyScanServer(Instance &aInstance) , mNotifierCallback(aInstance, &EnergyScanServer::HandleStateChanged, this) , mEnergyScan(OT_URI_PATH_ENERGY_SCAN, &EnergyScanServer::HandleRequest, this) { - Get().AddResource(mEnergyScan); + IgnoreError(Get().AddResource(mEnergyScan)); } void EnergyScanServer::HandleRequest(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) @@ -118,11 +118,11 @@ void EnergyScanServer::HandleTimer(void) { // grab the lowest channel to scan uint32_t channelMask = mChannelMaskCurrent & ~(mChannelMaskCurrent - 1); - Get().EnergyScan(channelMask, mScanDuration, HandleScanResult, this); + IgnoreError(Get().EnergyScan(channelMask, mScanDuration, HandleScanResult, this)); } else { - SendReport(); + IgnoreError(SendReport()); } exit: diff --git a/src/core/thread/indirect_sender.cpp b/src/core/thread/indirect_sender.cpp index 7c93f5f6e..f2a71c4a7 100644 --- a/src/core/thread/indirect_sender.cpp +++ b/src/core/thread/indirect_sender.cpp @@ -139,7 +139,7 @@ void IndirectSender::ClearAllMessagesForSleepyChild(Child &aChild) Get().mSendMessage = NULL; } - Get().mSendQueue.Dequeue(*message); + IgnoreError(Get().mSendQueue.Dequeue(*message)); message->Free(); } } @@ -219,7 +219,7 @@ Message *IndirectSender::FindIndirectMessage(Child &aChild) { message->ClearChildMask(childIndex); mSourceMatchController.DecrementMessageCount(aChild); - Get().mSendQueue.Dequeue(*message); + IgnoreError(Get().mSendQueue.Dequeue(*message)); message->Free(); continue; } @@ -377,11 +377,11 @@ uint16_t IndirectSender::PrepareDataFrame(Mac::TxFrame &aFrame, Child &aChild, M // Prepare the data frame from previous child's indirect offset. directTxOffset = aMessage.GetOffset(); - aMessage.SetOffset(aChild.GetIndirectFragmentOffset()); + IgnoreError(aMessage.SetOffset(aChild.GetIndirectFragmentOffset())); nextOffset = Get().PrepareDataFrame(aFrame, aMessage, macSource, macDest); - aMessage.SetOffset(directTxOffset); + IgnoreError(aMessage.SetOffset(directTxOffset)); // Set `FramePending` if there are more queued messages (excluding // the current one being sent out) for the child (note `> 1` check). @@ -424,7 +424,7 @@ void IndirectSender::PrepareEmptyFrame(Mac::TxFrame &aFrame, Child &aChild, bool aFrame.InitMacHeader(fcf, Mac::Frame::kKeyIdMode1 | Mac::Frame::kSecEncMic32); aFrame.SetDstPanId(Get().GetPanId()); - aFrame.SetSrcPanId(Get().GetPanId()); + IgnoreError(aFrame.SetSrcPanId(Get().GetPanId())); aFrame.SetDstAddr(macDest); aFrame.SetSrcAddr(macSource); aFrame.SetPayloadLength(0); @@ -517,7 +517,7 @@ void IndirectSender::HandleSentFrameToChild(const Mac::TxFrame &aFrame, if (!aFrame.IsEmpty()) { - aFrame.GetDstAddr(macDest); + IgnoreError(aFrame.GetDstAddr(macDest)); Get().LogMessage(MeshForwarder::kMessageTransmit, *message, &macDest, txError); } @@ -541,7 +541,7 @@ void IndirectSender::HandleSentFrameToChild(const Mac::TxFrame &aFrame, if (!message->GetDirectTransmission() && !message->IsChildPending()) { - Get().mSendQueue.Dequeue(*message); + IgnoreError(Get().mSendQueue.Dequeue(*message)); message->Free(); } } diff --git a/src/core/thread/key_manager.cpp b/src/core/thread/key_manager.cpp index d156a7c5f..a01c6bc50 100644 --- a/src/core/thread/key_manager.cpp +++ b/src/core/thread/key_manager.cpp @@ -102,7 +102,7 @@ void KeyManager::Stop(void) #if OPENTHREAD_MTD || OPENTHREAD_FTD void KeyManager::SetPskc(const Pskc &aPskc) { - Get().Update(mPskc, aPskc, OT_CHANGED_PSKC); + IgnoreError(Get().Update(mPskc, aPskc, OT_CHANGED_PSKC)); mIsPskcSet = true; } #endif // OPENTHREAD_MTD || OPENTHREAD_FTD @@ -206,7 +206,7 @@ void KeyManager::IncrementMacFrameCounter(void) if (mMacFrameCounter >= mStoredMacFrameCounter) { - Get().Store(); + IgnoreError(Get().Store()); } } @@ -216,7 +216,7 @@ void KeyManager::IncrementMleFrameCounter(void) if (mMleFrameCounter >= mStoredMleFrameCounter) { - Get().Store(); + IgnoreError(Get().Store()); } } @@ -246,7 +246,7 @@ exit: void KeyManager::SetSecurityPolicyFlags(uint8_t aSecurityPolicyFlags) { - Get().Update(mSecurityPolicyFlags, aSecurityPolicyFlags, OT_CHANGED_SECURITY_POLICY); + IgnoreError(Get().Update(mSecurityPolicyFlags, aSecurityPolicyFlags, OT_CHANGED_SECURITY_POLICY)); } void KeyManager::StartKeyRotationTimer(void) diff --git a/src/core/thread/link_quality.cpp b/src/core/thread/link_quality.cpp index b7cfd103f..6e4956834 100644 --- a/src/core/thread/link_quality.cpp +++ b/src/core/thread/link_quality.cpp @@ -134,7 +134,7 @@ RssAverager::InfoString RssAverager::ToString(void) const InfoString string; VerifyOrExit(mCount != 0, OT_NOOP); - string.Set("%d.%s", -(mAverage >> kPrecisionBitShift), kDigitsString[mAverage & kPrecisionBitMask]); + IgnoreError(string.Set("%d.%s", -(mAverage >> kPrecisionBitShift), kDigitsString[mAverage & kPrecisionBitMask])); exit: return string; diff --git a/src/core/thread/lowpan.cpp b/src/core/thread/lowpan.cpp index cb3a31baa..71e8b7f53 100644 --- a/src/core/thread/lowpan.cpp +++ b/src/core/thread/lowpan.cpp @@ -102,7 +102,7 @@ otError Lowpan::CompressSourceIid(const Mac::Address &aMacAddr, Ip6::Address ipaddr; Mac::Address tmp; - ComputeIid(aMacAddr, aContext, ipaddr); + IgnoreError(ComputeIid(aMacAddr, aContext, ipaddr)); if (memcmp(ipaddr.GetIid(), aIpAddr.GetIid(), Ip6::Address::kInterfaceIdentifierSize) == 0) { @@ -111,7 +111,7 @@ otError Lowpan::CompressSourceIid(const Mac::Address &aMacAddr, else { tmp.SetShort(aIpAddr.GetLocator()); - ComputeIid(tmp, aContext, ipaddr); + IgnoreError(ComputeIid(tmp, aContext, ipaddr)); if (memcmp(ipaddr.GetIid(), aIpAddr.GetIid(), Ip6::Address::kInterfaceIdentifierSize) == 0) { @@ -145,7 +145,7 @@ otError Lowpan::CompressDestinationIid(const Mac::Address &aMacAddr, Ip6::Address ipaddr; Mac::Address tmp; - ComputeIid(aMacAddr, aContext, ipaddr); + IgnoreError(ComputeIid(aMacAddr, aContext, ipaddr)); if (memcmp(ipaddr.GetIid(), aIpAddr.GetIid(), Ip6::Address::kInterfaceIdentifierSize) == 0) { @@ -154,7 +154,7 @@ otError Lowpan::CompressDestinationIid(const Mac::Address &aMacAddr, else { tmp.SetShort(aIpAddr.GetLocator()); - ComputeIid(tmp, aContext, ipaddr); + IgnoreError(ComputeIid(tmp, aContext, ipaddr)); if (memcmp(ipaddr.GetIid(), aIpAddr.GetIid(), Ip6::Address::kInterfaceIdentifierSize) == 0) { @@ -284,7 +284,7 @@ otError Lowpan::Compress(Message & aMessage, if (!srcContextValid) { - networkData.GetContext(0, srcContext); + IgnoreError(networkData.GetContext(0, srcContext)); } dstContextValid = @@ -292,7 +292,7 @@ otError Lowpan::Compress(Message & aMessage, if (!dstContextValid) { - networkData.GetContext(0, dstContext); + IgnoreError(networkData.GetContext(0, dstContext)); } // Lowpan HC Control Bits @@ -418,7 +418,7 @@ otError Lowpan::Compress(Message & aMessage, headerDepth++; - aMessage.MoveOffset(sizeof(ip6Header)); + IgnoreError(aMessage.MoveOffset(sizeof(ip6Header))); nextHeader = static_cast(ip6Header.GetNextHeader()); @@ -454,13 +454,13 @@ exit: if (error == OT_ERROR_NONE) { - IgnoreReturnValue(aBuf.Write(hcCtl >> 8)); - IgnoreReturnValue(aBuf.Write(hcCtl & 0xff)); + IgnoreError(aBuf.Write(hcCtl >> 8)); + IgnoreError(aBuf.Write(hcCtl & 0xff)); aBuf = buf; } else { - aMessage.SetOffset(startOffset); + IgnoreError(aMessage.SetOffset(startOffset)); } return error; @@ -478,7 +478,7 @@ otError Lowpan::CompressExtensionHeader(Message &aMessage, BufferWriter &aBuf, u VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(extHeader), &extHeader) == sizeof(extHeader), error = OT_ERROR_PARSE); - aMessage.MoveOffset(sizeof(extHeader)); + IgnoreError(aMessage.MoveOffset(sizeof(extHeader))); tmpByte = kExtHdrDispatch | kExtHdrEidHbh; @@ -545,7 +545,7 @@ otError Lowpan::CompressExtensionHeader(Message &aMessage, BufferWriter &aBuf, u SuccessOrExit(error = buf.Write(static_cast(len))); SuccessOrExit(error = buf.Write(aMessage, static_cast(len))); - aMessage.MoveOffset(len + padLength); + IgnoreError(aMessage.MoveOffset(len + padLength)); exit: if (error == OT_ERROR_NONE) @@ -554,7 +554,7 @@ exit: } else { - aMessage.SetOffset(startOffset); + IgnoreError(aMessage.SetOffset(startOffset)); } return error; @@ -602,7 +602,7 @@ otError Lowpan::CompressUdp(Message &aMessage, BufferWriter &aBuf) SuccessOrExit(error = buf.Write(reinterpret_cast(&udpHeader) + Ip6::UdpHeader::GetChecksumOffset(), 2)); - aMessage.MoveOffset(sizeof(udpHeader)); + IgnoreError(aMessage.MoveOffset(sizeof(udpHeader))); exit: if (error == OT_ERROR_NONE) @@ -611,7 +611,7 @@ exit: } else { - aMessage.SetOffset(startOffset); + IgnoreError(aMessage.SetOffset(startOffset)); } return error; @@ -704,8 +704,8 @@ int Lowpan::DecompressBaseHeader(Ip6::Header & aIp6Header, } else { - networkData.GetContext(0, srcContext); - networkData.GetContext(0, dstContext); + IgnoreError(networkData.GetContext(0, srcContext)); + IgnoreError(networkData.GetContext(0, dstContext)); } memset(&aIp6Header, 0, sizeof(aIp6Header)); @@ -799,7 +799,7 @@ int Lowpan::DecompressBaseHeader(Ip6::Header & aIp6Header, break; case kHcSrcAddrMode3: - ComputeIid(aMacSource, srcContext, aIp6Header.GetSource()); + IgnoreError(ComputeIid(aMacSource, srcContext, aIp6Header.GetSource())); break; } @@ -976,11 +976,11 @@ int Lowpan::DecompressExtensionHeader(Message &aMessage, const uint8_t *aBuf, ui hdr[1] = BitVectorBytes(sizeof(hdr) + len) - 1; SuccessOrExit(aMessage.Append(hdr, sizeof(hdr))); - aMessage.MoveOffset(sizeof(hdr)); + IgnoreError(aMessage.MoveOffset(sizeof(hdr))); // payload SuccessOrExit(aMessage.Append(cur, len)); - aMessage.MoveOffset(len); + IgnoreError(aMessage.MoveOffset(len)); cur += len; // The RFC6282 says: "The trailing Pad1 or PadN option MAY be elided by the compressor. @@ -1001,7 +1001,7 @@ int Lowpan::DecompressExtensionHeader(Message &aMessage, const uint8_t *aBuf, ui SuccessOrExit(aMessage.Append(&optionPadN, padLength)); } - aMessage.MoveOffset(padLength); + IgnoreError(aMessage.MoveOffset(padLength)); } error = OT_ERROR_NONE; @@ -1094,7 +1094,7 @@ int Lowpan::DecompressUdpHeader(Message &aMessage, const uint8_t *aBuf, uint16_t } VerifyOrExit(aMessage.Append(&udpHeader, sizeof(udpHeader)) == OT_ERROR_NONE, headerLen = -1); - aMessage.MoveOffset(sizeof(udpHeader)); + IgnoreError(aMessage.MoveOffset(sizeof(udpHeader))); exit: return headerLen; diff --git a/src/core/thread/mesh_forwarder.cpp b/src/core/thread/mesh_forwarder.cpp index c30f677fc..6cfa7cdd9 100644 --- a/src/core/thread/mesh_forwarder.cpp +++ b/src/core/thread/mesh_forwarder.cpp @@ -114,13 +114,13 @@ void MeshForwarder::Stop(void) while ((message = mSendQueue.GetHead()) != NULL) { - mSendQueue.Dequeue(*message); + IgnoreError(mSendQueue.Dequeue(*message)); message->Free(); } while ((message = mReassemblyList.GetHead()) != NULL) { - mReassemblyList.Dequeue(*message); + IgnoreError(mReassemblyList.Dequeue(*message)); message->Free(); } @@ -148,7 +148,7 @@ void MeshForwarder::RemoveMessage(Message &aMessage) #if OPENTHREAD_FTD for (ChildTable::Iterator iter(GetInstance(), Child::kInStateAnyExceptInvalid); !iter.IsDone(); iter++) { - IgnoreReturnValue(mIndirectSender.RemoveMessageFromSleepyChild(aMessage, *iter.GetChild())); + IgnoreError(mIndirectSender.RemoveMessageFromSleepyChild(aMessage, *iter.GetChild())); } #endif @@ -158,7 +158,7 @@ void MeshForwarder::RemoveMessage(Message &aMessage) } } - queue->Dequeue(aMessage); + IgnoreError(queue->Dequeue(aMessage)); LogMessage(kMessageEvict, aMessage, NULL, OT_ERROR_NO_BUFS); aMessage.Free(); } @@ -180,7 +180,7 @@ void MeshForwarder::ScheduleTransmissionTask(void) mSendMessage->SetTxSuccess(true); } - Get().RequestDirectFrameTransmission(); + IgnoreError(Get().RequestDirectFrameTransmission()); exit: return; @@ -260,14 +260,14 @@ Message *MeshForwarder::GetDirectTransmission(void) #if OPENTHREAD_FTD case OT_ERROR_ADDRESS_QUERY: - mSendQueue.Dequeue(*curMessage); - mResolvingQueue.Enqueue(*curMessage); + IgnoreError(mSendQueue.Dequeue(*curMessage)); + IgnoreError(mResolvingQueue.Enqueue(*curMessage)); continue; #endif default: - mSendQueue.Dequeue(*curMessage); + IgnoreError(mSendQueue.Dequeue(*curMessage)); LogMessage(kMessageDrop, *curMessage, NULL, error); curMessage->Free(); continue; @@ -358,7 +358,7 @@ void MeshForwarder::SetRxOnWhenIdle(bool aRxOnWhenIdle) } else { - mDataPollSender.StartPolling(); + IgnoreError(mDataPollSender.StartPolling()); Get().Start(); } } @@ -606,7 +606,7 @@ start: aFrame.InitMacHeader(fcf, secCtl); aFrame.SetDstPanId(dstpan); - aFrame.SetSrcPanId(Get().GetPanId()); + IgnoreError(aFrame.SetSrcPanId(Get().GetPanId())); aFrame.SetDstAddr(aMacDest); aFrame.SetSrcAddr(aMacSource); @@ -623,7 +623,7 @@ start: ieList[1].Init(); ieList[1].SetId(Mac::Frame::kHeaderIeTermination2); ieList[1].SetLength(0); - aFrame.AppendHeaderIe(ieList, 2); + IgnoreError(aFrame.AppendHeaderIe(ieList, 2)); cur = aFrame.GetHeaderIe(Mac::Frame::kHeaderIeVendor); ie = reinterpret_cast(cur + sizeof(Mac::HeaderIe)); @@ -719,7 +719,7 @@ start: if ((!aMessage.IsLinkSecurityEnabled()) && aMessage.IsSubTypeMle()) { // Enable security and try again. - aMessage.SetOffset(0); + IgnoreError(aMessage.SetOffset(0)); aMessage.SetLinkSecurityEnabled(true); goto start; } @@ -753,7 +753,7 @@ start: aFrame.SetPayloadLength(headerLength + payloadLength); nextOffset = aMessage.GetOffset() + payloadLength; - aMessage.SetOffset(0); + IgnoreError(aMessage.SetOffset(0)); } else { @@ -839,7 +839,7 @@ void MeshForwarder::HandleSentFrame(Mac::TxFrame &aFrame, otError aError) if (!aFrame.IsEmpty()) { - aFrame.GetDstAddr(macDest); + IgnoreError(aFrame.GetDstAddr(macDest)); neighbor = UpdateNeighborOnSentFrame(aFrame, aError, macDest); } @@ -865,14 +865,14 @@ void MeshForwarder::HandleSentFrame(Mac::TxFrame &aFrame, otError aError) if (mMessageNextOffset < mSendMessage->GetLength()) { - mSendMessage->SetOffset(mMessageNextOffset); + IgnoreError(mSendMessage->SetOffset(mMessageNextOffset)); } else { otError txError = aError; mSendMessage->ClearDirectTransmission(); - mSendMessage->SetOffset(0); + IgnoreError(mSendMessage->SetOffset(0)); if (neighbor != NULL) { @@ -930,7 +930,7 @@ void MeshForwarder::HandleSentFrame(Mac::TxFrame &aFrame, otError aError) Get().RequestShorterChildIdRequest(); } - mSendQueue.Dequeue(*mSendMessage); + IgnoreError(mSendQueue.Dequeue(*mSendMessage)); mSendMessage->Free(); mSendMessage = NULL; mMessageNextOffset = 0; @@ -940,7 +940,7 @@ exit: if (mEnabled) { - mScheduleTransmissionTask.Post(); + IgnoreError(mScheduleTransmissionTask.Post()); } } @@ -962,7 +962,7 @@ void MeshForwarder::HandleDiscoverTimer(void) { if (mScanChannels.GetNextChannel(mScanChannel) != OT_ERROR_NONE) { - mSendQueue.Dequeue(*mSendMessage); + IgnoreError(mSendQueue.Dequeue(*mSendMessage)); mSendMessage->Free(); mSendMessage = NULL; @@ -974,7 +974,7 @@ void MeshForwarder::HandleDiscoverTimer(void) exit: mSendBusy = false; - mScheduleTransmissionTask.Post(); + IgnoreError(mScheduleTransmissionTask.Post()); } void MeshForwarder::HandleDiscoverComplete(void) @@ -1005,7 +1005,7 @@ void MeshForwarder::HandleReceivedFrame(Mac::RxFrame &aFrame) SuccessOrExit(error = aFrame.GetSrcAddr(macSource)); SuccessOrExit(error = aFrame.GetDstAddr(macDest)); - aFrame.GetSrcPanId(linkInfo.mPanId); + IgnoreError(aFrame.GetSrcPanId(linkInfo.mPanId)); linkInfo.mChannel = aFrame.GetChannel(); linkInfo.mRss = aFrame.GetRssi(); linkInfo.mLqi = aFrame.GetLqi(); @@ -1117,7 +1117,7 @@ void MeshForwarder::HandleFragment(const uint8_t * aFrame, ClearReassemblyList(); } - mReassemblyList.Enqueue(*message); + IgnoreError(mReassemblyList.Enqueue(*message)); if (!mUpdateTimer.IsRunning()) { @@ -1153,7 +1153,7 @@ void MeshForwarder::HandleFragment(const uint8_t * aFrame, VerifyOrExit(message != NULL, error = OT_ERROR_DROP); message->Write(message->GetOffset(), aFrameLength, aFrame); - message->MoveOffset(aFrameLength); + IgnoreError(message->MoveOffset(aFrameLength)); message->AddRss(aLinkInfo.mRss); message->SetTimeout(kReassemblyTimeout); } @@ -1164,8 +1164,8 @@ exit: { if (message->GetOffset() >= message->GetLength()) { - mReassemblyList.Dequeue(*message); - HandleDatagram(*message, aLinkInfo, aMacSource); + IgnoreError(mReassemblyList.Dequeue(*message)); + IgnoreError(HandleDatagram(*message, aLinkInfo, aMacSource)); } } else @@ -1187,7 +1187,7 @@ void MeshForwarder::ClearReassemblyList(void) for (message = mReassemblyList.GetHead(); message; message = next) { next = message->GetNext(); - mReassemblyList.Dequeue(*message); + IgnoreError(mReassemblyList.Dequeue(*message)); LogMessage(kMessageReassemblyDrop, *message, NULL, OT_ERROR_NO_FRAME_RECEIVED); @@ -1233,7 +1233,7 @@ bool MeshForwarder::UpdateReassemblyList(void) } else { - mReassemblyList.Dequeue(*message); + IgnoreError(mReassemblyList.Dequeue(*message)); LogMessage(kMessageReassemblyDrop, *message, NULL, OT_ERROR_REASSEMBLY_TIMEOUT); if (message->GetType() == Message::kTypeIp6) @@ -1274,7 +1274,7 @@ otError MeshForwarder::FrameToMessage(const uint8_t * aFrame, SuccessOrExit(error = aMessage->SetLength(aMessage->GetLength() + aFrameLength)); aMessage->Write(aMessage->GetOffset(), aFrameLength, aFrame); - aMessage->MoveOffset(aFrameLength); + IgnoreError(aMessage->MoveOffset(aFrameLength)); exit: return error; @@ -1314,7 +1314,7 @@ exit: if (error == OT_ERROR_NONE) { - HandleDatagram(*message, aLinkInfo, aMacSource); + IgnoreError(HandleDatagram(*message, aLinkInfo, aMacSource)); } else { diff --git a/src/core/thread/mesh_forwarder_ftd.cpp b/src/core/thread/mesh_forwarder_ftd.cpp index e2df50514..7047bc2e3 100644 --- a/src/core/thread/mesh_forwarder_ftd.cpp +++ b/src/core/thread/mesh_forwarder_ftd.cpp @@ -50,7 +50,7 @@ otError MeshForwarder::SendMessage(Message &aMessage) otError error = OT_ERROR_NONE; Neighbor * neighbor; - aMessage.SetOffset(0); + IgnoreError(aMessage.SetOffset(0)); aMessage.SetDatagramTag(0); SuccessOrExit(error = mSendQueue.Enqueue(aMessage)); @@ -87,7 +87,7 @@ otError MeshForwarder::SendMessage(Message &aMessage) if (!child.IsRxOnWhenIdle()) { - mIndirectSender.AddMessageForSleepyChild(aMessage, child); + IgnoreError(mIndirectSender.AddMessageForSleepyChild(aMessage, child)); } } } @@ -101,7 +101,7 @@ otError MeshForwarder::SendMessage(Message &aMessage) if (mle.IsSleepyChildSubscribed(ip6Header.GetDestination(), child)) { - mIndirectSender.AddMessageForSleepyChild(aMessage, child); + IgnoreError(mIndirectSender.AddMessageForSleepyChild(aMessage, child)); } } } @@ -112,7 +112,7 @@ otError MeshForwarder::SendMessage(Message &aMessage) { // destined for a sleepy child Child &child = *static_cast(neighbor); - mIndirectSender.AddMessageForSleepyChild(aMessage, child); + IgnoreError(mIndirectSender.AddMessageForSleepyChild(aMessage, child)); } else { @@ -127,7 +127,7 @@ otError MeshForwarder::SendMessage(Message &aMessage) { Child *child = Get().GetDestination(aMessage); OT_ASSERT((child != NULL) && !child->IsRxOnWhenIdle()); - mIndirectSender.AddMessageForSleepyChild(aMessage, *child); + IgnoreError(mIndirectSender.AddMessageForSleepyChild(aMessage, *child)); break; } @@ -136,7 +136,7 @@ otError MeshForwarder::SendMessage(Message &aMessage) break; } - mScheduleTransmissionTask.Post(); + IgnoreError(mScheduleTransmissionTask.Post()); exit: return error; @@ -161,11 +161,11 @@ void MeshForwarder::HandleResolved(const Ip6::Address &aEid, otError aError) if (ip6Dst == aEid) { - mResolvingQueue.Dequeue(*cur); + IgnoreError(mResolvingQueue.Dequeue(*cur)); if (aError == OT_ERROR_NONE) { - mSendQueue.Enqueue(*cur); + IgnoreError(mSendQueue.Enqueue(*cur)); enqueuedMessage = true; } else @@ -178,7 +178,7 @@ void MeshForwarder::HandleResolved(const Ip6::Address &aEid, otError aError) if (enqueuedMessage) { - mScheduleTransmissionTask.Post(); + IgnoreError(mScheduleTransmissionTask.Post()); } } @@ -286,7 +286,7 @@ void MeshForwarder::RemoveMessages(Child &aChild, uint8_t aSubType) { Lowpan::MeshHeader meshHeader; - IgnoreReturnValue(meshHeader.ParseFrom(*message)); + IgnoreError(meshHeader.ParseFrom(*message)); if (&aChild == static_cast(mle.GetNeighbor(meshHeader.GetDestination()))) { @@ -308,7 +308,7 @@ void MeshForwarder::RemoveMessages(Child &aChild, uint8_t aSubType) mSendMessage = NULL; } - mSendQueue.Dequeue(*message); + IgnoreError(mSendQueue.Dequeue(*message)); message->Free(); } } @@ -331,7 +331,7 @@ void MeshForwarder::RemoveDataResponseMessages(void) { for (ChildTable::Iterator iter(GetInstance(), Child::kInStateAnyExceptInvalid); !iter.IsDone(); iter++) { - IgnoreReturnValue(mIndirectSender.RemoveMessageFromSleepyChild(*message, *iter.GetChild())); + IgnoreError(mIndirectSender.RemoveMessageFromSleepyChild(*message, *iter.GetChild())); } } @@ -340,7 +340,7 @@ void MeshForwarder::RemoveDataResponseMessages(void) mSendMessage = NULL; } - mSendQueue.Dequeue(*message); + IgnoreError(mSendQueue.Dequeue(*message)); LogMessage(kMessageDrop, *message, NULL, OT_ERROR_NONE); message->Free(); } @@ -375,7 +375,7 @@ otError MeshForwarder::UpdateMeshRoute(Message &aMessage) Neighbor * neighbor; uint16_t nextHop; - IgnoreReturnValue(meshHeader.ParseFrom(aMessage)); + IgnoreError(meshHeader.ParseFrom(aMessage)); nextHop = Get().GetNextHop(meshHeader.GetDestination()); @@ -481,7 +481,8 @@ otError MeshForwarder::UpdateIp6RouteFtd(Ip6::Header &ip6Header, Message &aMessa } else { - Get().RouteLookup(ip6Header.GetSource(), ip6Header.GetDestination(), NULL, &mMeshDest); + IgnoreError(Get().RouteLookup(ip6Header.GetSource(), ip6Header.GetDestination(), NULL, + &mMeshDest)); } VerifyOrExit(mMeshDest != Mac::kShortAddrInvalid, error = OT_ERROR_DROP); @@ -601,8 +602,8 @@ void MeshForwarder::SendDestinationUnreachable(uint16_t aMeshSource, const Messa messageInfo.GetPeerAddr() = Get().GetMeshLocal16(); messageInfo.GetPeerAddr().SetLocator(aMeshSource); - Get().SendError(Ip6::IcmpHeader::kTypeDstUnreach, Ip6::IcmpHeader::kCodeDstUnreachNoRoute, messageInfo, - aMessage); + IgnoreError(Get().SendError(Ip6::IcmpHeader::kTypeDstUnreach, Ip6::IcmpHeader::kCodeDstUnreachNoRoute, + messageInfo, aMessage)); } void MeshForwarder::HandleMesh(uint8_t * aFrame, @@ -657,7 +658,7 @@ void MeshForwarder::HandleMesh(uint8_t * aFrame, meshHeader.DecrementHopsLeft(); - GetForwardFramePriority(aFrame, aFrameLength, meshSource, meshDest, priority); + IgnoreError(GetForwardFramePriority(aFrame, aFrameLength, meshSource, meshDest, priority)); message = Get().New(Message::kType6lowpan, priority); VerifyOrExit(message != NULL, error = OT_ERROR_NO_BUFS); @@ -670,7 +671,7 @@ void MeshForwarder::HandleMesh(uint8_t * aFrame, LogMessage(kMessageReceive, *message, &aMacSource, OT_ERROR_NONE); - SendMessage(*message); + IgnoreError(SendMessage(*message)); } exit: @@ -715,7 +716,7 @@ void MeshForwarder::UpdateRoutes(const uint8_t * aFrame, (aMeshDest.GetShort() == Get().GetShortAddress() || Get().IsMinimalChild(aMeshDest.GetShort()))) { - Get().AddSnoopedCacheEntry(ip6Header.GetSource(), aMeshSource.GetShort()); + IgnoreError(Get().AddSnoopedCacheEntry(ip6Header.GetSource(), aMeshSource.GetShort())); } } } diff --git a/src/core/thread/mesh_forwarder_mtd.cpp b/src/core/thread/mesh_forwarder_mtd.cpp index a50219233..6c79b683a 100644 --- a/src/core/thread/mesh_forwarder_mtd.cpp +++ b/src/core/thread/mesh_forwarder_mtd.cpp @@ -42,11 +42,11 @@ otError MeshForwarder::SendMessage(Message &aMessage) otError error; aMessage.SetDirectTransmission(); - aMessage.SetOffset(0); + IgnoreError(aMessage.SetOffset(0)); aMessage.SetDatagramTag(0); SuccessOrExit(error = mSendQueue.Enqueue(aMessage)); - mScheduleTransmissionTask.Post(); + IgnoreError(mScheduleTransmissionTask.Post()); exit: return error; diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp index e8c2badb8..5a069f130 100644 --- a/src/core/thread/mle.cpp +++ b/src/core/thread/mle.cpp @@ -161,8 +161,8 @@ Mle::Mle(Instance &aInstance) // mesh-local 64 mMeshLocal64.Clear(); - Random::Crypto::FillBuffer(mMeshLocal64.GetAddress().mFields.m8 + OT_IP6_PREFIX_SIZE, - OT_IP6_ADDRESS_SIZE - OT_IP6_PREFIX_SIZE); + IgnoreError(Random::Crypto::FillBuffer(mMeshLocal64.GetAddress().mFields.m8 + OT_IP6_PREFIX_SIZE, + OT_IP6_ADDRESS_SIZE - OT_IP6_PREFIX_SIZE)); mMeshLocal64.mPrefixLength = MeshLocalPrefix::kLength; mMeshLocal64.mPreferred = true; @@ -268,21 +268,21 @@ otError Mle::Start(bool aAnnounceAttach) if (aAnnounceAttach || (GetRloc16() == Mac::kShortAddrInvalid)) { - BecomeChild(kAttachAny); + IgnoreError(BecomeChild(kAttachAny)); } #if OPENTHREAD_FTD else if (IsActiveRouter(GetRloc16())) { if (Get().BecomeRouter(ThreadStatusTlv::kTooFewRouters) != OT_ERROR_NONE) { - BecomeChild(kAttachAny); + IgnoreError(BecomeChild(kAttachAny)); } } #endif else { mChildUpdateAttempts = 0; - SendChildUpdateRequest(); + IgnoreError(SendChildUpdateRequest()); } exit: @@ -301,10 +301,10 @@ void Mle::Stop(bool aClearNetworkDatasets) Get().Stop(); SetStateDetached(); - Get().UnsubscribeMulticast(mRealmLocalAllThreadNodes); - Get().UnsubscribeMulticast(mLinkLocalAllThreadNodes); - Get().RemoveUnicastAddress(mMeshLocal16); - Get().RemoveUnicastAddress(mMeshLocal64); + IgnoreError(Get().UnsubscribeMulticast(mRealmLocalAllThreadNodes)); + IgnoreError(Get().UnsubscribeMulticast(mLinkLocalAllThreadNodes)); + IgnoreError(Get().RemoveUnicastAddress(mMeshLocal16)); + IgnoreError(Get().RemoveUnicastAddress(mMeshLocal64)); SetRole(kRoleDisabled); @@ -365,8 +365,8 @@ otError Mle::Restore(void) Settings::NetworkInfo networkInfo; Settings::ParentInfo parentInfo; - Get().Restore(); - Get().Restore(); + IgnoreError(Get().Restore()); + IgnoreError(Get().Restore()); SuccessOrExit(error = Get().ReadNetworkInfo(networkInfo)); @@ -616,7 +616,7 @@ otError Mle::BecomeDetached(void) SetStateDetached(); mParent.SetState(Neighbor::kStateInvalid); SetRloc16(Mac::kShortAddrInvalid); - BecomeChild(kAttachAny); + IgnoreError(BecomeChild(kAttachAny)); exit: return error; @@ -747,7 +747,7 @@ void Mle::SetStateDetached(void) if (IsLeader()) { - Get().RemoveUnicastAddress(mLeaderAloc); + IgnoreError(Get().RemoveUnicastAddress(mLeaderAloc)); } SetRole(kRoleDetached); @@ -773,7 +773,7 @@ void Mle::SetStateChild(uint16_t aRloc16) { if (IsLeader()) { - Get().RemoveUnicastAddress(mLeaderAloc); + IgnoreError(Get().RemoveUnicastAddress(mLeaderAloc)); } SetRloc16(aRloc16); @@ -790,7 +790,7 @@ void Mle::SetStateChild(uint16_t aRloc16) #if OPENTHREAD_FTD if (IsFullThreadDevice()) { - Get().HandleChildStart(mParentRequestMode); + IgnoreError(Get().HandleChildStart(mParentRequestMode)); } #endif @@ -823,7 +823,7 @@ void Mle::InformPreviousChannel(void) #endif mAlternatePanId = Mac::kPanIdBroadcast; - Get().SendAnnounce(1 << mAlternateChannel); + IgnoreError(Get().SendAnnounce(1 << mAlternateChannel)); exit: return; @@ -844,7 +844,7 @@ void Mle::SetTimeout(uint32_t aTimeout) if (IsChild()) { - SendChildUpdateRequest(); + IgnoreError(SendChildUpdateRequest()); } exit: @@ -862,7 +862,7 @@ otError Mle::SetDeviceMode(DeviceMode aDeviceMode) otLogNoteMle("Mode 0x%02x -> 0x%02x [%s]", oldMode.Get(), mDeviceMode.Get(), mDeviceMode.ToString().AsCString()); - Store(); + IgnoreError(Store()); switch (mRole) { @@ -872,19 +872,19 @@ otError Mle::SetDeviceMode(DeviceMode aDeviceMode) case kRoleDetached: mAttachCounter = 0; SetStateDetached(); - BecomeChild(kAttachAny); + IgnoreError(BecomeChild(kAttachAny)); break; case kRoleChild: SetStateChild(GetRloc16()); - SendChildUpdateRequest(); + IgnoreError(SendChildUpdateRequest()); break; case kRoleRouter: case kRoleLeader: if (oldMode.IsFullThreadDevice() && !mDeviceMode.IsFullThreadDevice()) { - BecomeDetached(); + IgnoreError(BecomeDetached()); } break; @@ -896,9 +896,9 @@ exit: void Mle::UpdateLinkLocalAddress(void) { - Get().RemoveUnicastAddress(mLinkLocal64); + IgnoreError(Get().RemoveUnicastAddress(mLinkLocal64)); mLinkLocal64.GetAddress().SetIid(Get().GetExtAddress()); - Get().AddUnicastAddress(mLinkLocal64); + IgnoreError(Get().AddUnicastAddress(mLinkLocal64)); Get().Signal(OT_CHANGED_THREAD_LL_ADDR); } @@ -909,12 +909,13 @@ void Mle::SetMeshLocalPrefix(const MeshLocalPrefix &aMeshLocalPrefix) if (Get().IsUp()) { - Get().RemoveUnicastAddress(mLeaderAloc); + IgnoreError(Get().RemoveUnicastAddress(mLeaderAloc)); + // We must remove the old addresses before adding the new ones. - Get().RemoveUnicastAddress(mMeshLocal64); - Get().RemoveUnicastAddress(mMeshLocal16); - Get().UnsubscribeMulticast(mLinkLocalAllThreadNodes); - Get().UnsubscribeMulticast(mRealmLocalAllThreadNodes); + IgnoreError(Get().RemoveUnicastAddress(mMeshLocal64)); + IgnoreError(Get().RemoveUnicastAddress(mMeshLocal16)); + IgnoreError(Get().UnsubscribeMulticast(mLinkLocalAllThreadNodes)); + IgnoreError(Get().UnsubscribeMulticast(mRealmLocalAllThreadNodes)); } mMeshLocal64.GetAddress().SetPrefix(aMeshLocalPrefix); @@ -938,19 +939,19 @@ void Mle::ApplyMeshLocalPrefix(void) VerifyOrExit(!IsDisabled(), OT_NOOP); // Add the addresses back into the table. - Get().AddUnicastAddress(mMeshLocal64); - Get().SubscribeMulticast(mLinkLocalAllThreadNodes); - Get().SubscribeMulticast(mRealmLocalAllThreadNodes); + IgnoreError(Get().AddUnicastAddress(mMeshLocal64)); + IgnoreError(Get().SubscribeMulticast(mLinkLocalAllThreadNodes)); + IgnoreError(Get().SubscribeMulticast(mRealmLocalAllThreadNodes)); if (IsAttached()) { - Get().AddUnicastAddress(mMeshLocal16); + IgnoreError(Get().AddUnicastAddress(mMeshLocal16)); } // update Leader ALOC if (IsLeader()) { - Get().AddUnicastAddress(mLeaderAloc); + IgnoreError(Get().AddUnicastAddress(mLeaderAloc)); } #if OPENTHREAD_FTD && OPENTHREAD_CONFIG_COMMISSIONER_ENABLE @@ -971,9 +972,9 @@ void Mle::ApplyMeshLocalPrefix(void) { if (mServiceAlocs[i].GetAddress().GetLocator() != Mac::kShortAddrInvalid) { - Get().RemoveUnicastAddress(mServiceAlocs[i]); + IgnoreError(Get().RemoveUnicastAddress(mServiceAlocs[i])); mServiceAlocs[i].GetAddress().SetPrefix(GetMeshLocalPrefix()); - Get().AddUnicastAddress(mServiceAlocs[i]); + IgnoreError(Get().AddUnicastAddress(mServiceAlocs[i])); } } @@ -1008,7 +1009,7 @@ void Mle::SetRloc16(uint16_t aRloc16) } } - Get().RemoveUnicastAddress(mMeshLocal16); + IgnoreError(Get().RemoveUnicastAddress(mMeshLocal16)); Get().SetShortAddress(aRloc16); Get().SetSeedId(aRloc16); @@ -1017,7 +1018,7 @@ void Mle::SetRloc16(uint16_t aRloc16) { // mesh-local 16 mMeshLocal16.GetAddress().SetLocator(aRloc16); - Get().AddUnicastAddress(mMeshLocal16); + IgnoreError(Get().AddUnicastAddress(mMeshLocal16)); #if OPENTHREAD_FTD Get().RestartAddressQueries(); #endif @@ -1256,7 +1257,7 @@ otError Mle::AppendNetworkData(Message &aMessage, bool aStableOnly) VerifyOrExit(!mRetrieveNewNetworkData, error = OT_ERROR_INVALID_STATE); length = sizeof(networkData); - Get().GetNetworkData(aStableOnly, networkData, length); + IgnoreError(Get().GetNetworkData(aStableOnly, networkData, length)); error = Tlv::AppendTlv(aMessage, Tlv::kNetworkData, networkData, length); @@ -1549,10 +1550,10 @@ void Mle::HandleStateChanged(otChangedFlags aFlags) if (!Get().IsUnicastAddress(mMeshLocal64.GetAddress())) { // Mesh Local EID was removed, choose a new one and add it back - Random::Crypto::FillBuffer(mMeshLocal64.GetAddress().mFields.m8 + OT_IP6_PREFIX_SIZE, - OT_IP6_ADDRESS_SIZE - OT_IP6_PREFIX_SIZE); + IgnoreError(Random::Crypto::FillBuffer(mMeshLocal64.GetAddress().mFields.m8 + OT_IP6_PREFIX_SIZE, + OT_IP6_ADDRESS_SIZE - OT_IP6_PREFIX_SIZE)); - Get().AddUnicastAddress(mMeshLocal64); + IgnoreError(Get().AddUnicastAddress(mMeshLocal64)); Get().Signal(OT_CHANGED_THREAD_ML_ADDR); } @@ -1606,7 +1607,7 @@ void Mle::HandleStateChanged(otChangedFlags aFlags) #endif #if OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE - Get().UpdateService(); + IgnoreError(Get().UpdateService()); #endif // OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE #if OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE @@ -1621,7 +1622,7 @@ void Mle::HandleStateChanged(otChangedFlags aFlags) if ((aFlags & OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER) || IsAttached()) { - Store(); + IgnoreError(Store()); } } @@ -1654,7 +1655,7 @@ void Mle::UpdateServiceAlocs(void) if ((serviceAloc != Mac::kShortAddrInvalid) && (!Get().ContainsService(Mle::ServiceIdFromAloc(serviceAloc), rloc))) { - Get().RemoveUnicastAddress(mServiceAlocs[i]); + IgnoreError(Get().RemoveUnicastAddress(mServiceAlocs[i])); mServiceAlocs[i].GetAddress().SetLocator(Mac::kShortAddrInvalid); } } @@ -1682,7 +1683,7 @@ void Mle::UpdateServiceAlocs(void) if (serviceAloc == Mac::kShortAddrInvalid) { SuccessOrExit(GetServiceAloc(serviceId, mServiceAlocs[i].GetAddress())); - Get().AddUnicastAddress(mServiceAlocs[i]); + IgnoreError(Get().AddUnicastAddress(mServiceAlocs[i])); break; } } @@ -1769,14 +1770,14 @@ void Mle::HandleAttachTimer(void) // during reattach when losing connectivity. if (mParentRequestMode == kAttachSame1 || mParentRequestMode == kAttachSame2) { - SendParentRequest(kParentRequestTypeRoutersAndReeds); + IgnoreError(SendParentRequest(kParentRequestTypeRoutersAndReeds)); delay = kParentRequestReedTimeout; } // initial MLE Parent Request has only R flag set in Scan Mask TLV for // during initial attach or downgrade process else { - SendParentRequest(kParentRequestTypeRouters); + IgnoreError(SendParentRequest(kParentRequestTypeRouters)); delay = kParentRequestRouterTimeout; } @@ -1784,7 +1785,7 @@ void Mle::HandleAttachTimer(void) case kAttachStateParentRequestRouter: SetAttachState(kAttachStateParentRequestReed); - SendParentRequest(kParentRequestTypeRoutersAndReeds); + IgnoreError(SendParentRequest(kParentRequestTypeRoutersAndReeds)); delay = kParentRequestReedTimeout; break; @@ -1794,7 +1795,7 @@ void Mle::HandleAttachTimer(void) if (shouldAnnounce) { SetAttachState(kAttachStateAnnounce); - SendParentRequest(kParentRequestTypeRoutersAndReeds); + IgnoreError(SendParentRequest(kParentRequestTypeRoutersAndReeds)); mAnnounceChannel = Mac::ChannelMask::kChannelIteratorFirst; delay = mAnnounceDelay; break; @@ -1864,7 +1865,7 @@ uint32_t Mle::Reattach(void) { if (Get().Restore() == OT_ERROR_NONE) { - Get().ApplyConfiguration(); + IgnoreError(Get().ApplyConfiguration()); mReattachState = kReattachPending; SetAttachState(kAttachStateStart); delay = 1 + Random::NonCrypto::GetUint32InRange(0, kAttachStartJitter); @@ -1877,7 +1878,7 @@ uint32_t Mle::Reattach(void) else if (mReattachState == kReattachPending) { mReattachState = kReattachStop; - Get().Restore(); + IgnoreError(Get().Restore()); } VerifyOrExit(mReattachState == kReattachStop, OT_NOOP); @@ -1889,10 +1890,10 @@ uint32_t Mle::Reattach(void) { if (mAlternatePanId != Mac::kPanIdBroadcast) { - Get().SetPanChannel(mAlternateChannel); + IgnoreError(Get().SetPanChannel(mAlternateChannel)); Get().SetPanId(mAlternatePanId); mAlternatePanId = Mac::kPanIdBroadcast; - BecomeDetached(); + IgnoreError(BecomeDetached()); } #if OPENTHREAD_FTD else if (IsFullThreadDevice() && Get().BecomeLeader() == OT_ERROR_NONE) @@ -1902,7 +1903,7 @@ uint32_t Mle::Reattach(void) #endif else { - BecomeDetached(); + IgnoreError(BecomeDetached()); } } else if (!IsRxOnWhenIdle()) @@ -1915,12 +1916,12 @@ uint32_t Mle::Reattach(void) break; case kAttachSame1: - BecomeChild(kAttachSame2); + IgnoreError(BecomeChild(kAttachSame2)); break; case kAttachSame2: case kAttachSameDowngrade: - BecomeChild(kAttachAny); + IgnoreError(BecomeChild(kAttachAny)); break; case kAttachBetter: @@ -1959,7 +1960,7 @@ void Mle::HandleDelayedResponseTimer(void) } else { - mDelayedResponses.Dequeue(*message); + IgnoreError(mDelayedResponses.Dequeue(*message)); metadata.RemoveFrom(*message); if (SendMessage(*message, metadata.mDestination) == OT_ERROR_NONE) @@ -2000,7 +2001,7 @@ void Mle::RemoveDelayedDataResponseMessage(void) if (message->GetSubType() == Message::kSubTypeMleDataResponse) { - mDelayedResponses.Dequeue(*message); + IgnoreError(mDelayedResponses.Dequeue(*message)); message->Free(); LogMleMessage("Remove Delayed Data Response", metadata.mDestination); @@ -2071,7 +2072,7 @@ void Mle::RequestShorterChildIdRequest(void) if (mAttachState == kAttachStateChildIdRequest) { mAddressRegistrationMode = kAppendMeshLocalOnly; - SendChildIdRequest(); + IgnoreError(SendChildIdRequest()); } } @@ -2267,7 +2268,7 @@ void Mle::HandleMessageTransmissionTimer(void) static const uint8_t tlvs[] = {Tlv::kNetworkData}; Ip6::Address destination; - VerifyOrExit(mDataRequestAttempts < kMaxChildKeepAliveAttempts, BecomeDetached()); + VerifyOrExit(mDataRequestAttempts < kMaxChildKeepAliveAttempts, IgnoreError(BecomeDetached())); destination.SetToLinkLocalAddress(mParent.GetExtAddress()); @@ -2300,7 +2301,7 @@ void Mle::HandleMessageTransmissionTimer(void) break; } - VerifyOrExit(mChildUpdateAttempts < kMaxChildKeepAliveAttempts, BecomeDetached()); + VerifyOrExit(mChildUpdateAttempts < kMaxChildKeepAliveAttempts, IgnoreError(BecomeDetached())); if (SendChildUpdateRequest() == OT_ERROR_NONE) { @@ -2320,7 +2321,7 @@ otError Mle::SendChildUpdateRequest(void) if (!mParent.IsStateValidOrRestoring()) { otLogWarnMle("No valid parent when sending Child Update Request"); - BecomeDetached(); + IgnoreError(BecomeDetached()); ExitNow(); } @@ -2441,7 +2442,7 @@ otError Mle::SendChildUpdateResponse(const uint8_t *aTlvs, uint8_t aNumTlvs, con if (checkAddress && HasUnregisteredAddress()) { - SendChildUpdateRequest(); + IgnoreError(SendChildUpdateRequest()); } exit: @@ -2523,7 +2524,7 @@ otError Mle::SendOrphanAnnounce(void) SuccessOrExit(error = channelMask.GetNextChannel(mAnnounceChannel)); - SendAnnounce(mAnnounceChannel, true); + IgnoreError(SendAnnounce(mAnnounceChannel, true)); exit: return error; @@ -2565,14 +2566,14 @@ otError Mle::SendMessage(Message &aMessage, const Ip6::Address &aDestination) aesCcm.Header(&aDestination, sizeof(aDestination)); aesCcm.Header(header.GetBytes() + 1, header.GetHeaderLength()); - aMessage.SetOffset(header.GetLength() - 1); + IgnoreError(aMessage.SetOffset(header.GetLength() - 1)); while (aMessage.GetOffset() < aMessage.GetLength()) { length = aMessage.Read(aMessage.GetOffset(), sizeof(buf), buf); aesCcm.Payload(buf, buf, length, true); aMessage.Write(aMessage.GetOffset(), length, buf); - aMessage.MoveOffset(length); + IgnoreError(aMessage.MoveOffset(length)); } tagLength = sizeof(tag); @@ -2602,7 +2603,7 @@ otError Mle::AddDelayedResponse(Message &aMessage, const Ip6::Address &aDestinat metadata.mDestination = aDestination; SuccessOrExit(error = metadata.AppendTo(aMessage)); - mDelayedResponses.Enqueue(aMessage); + IgnoreError(mDelayedResponses.Enqueue(aMessage)); mDelayedResponseTimer.FireAtIfEarlier(metadata.mSendTime); @@ -2645,18 +2646,18 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn if (header.GetSecuritySuite() == Header::kNoSecurity) { - aMessage.MoveOffset(header.GetLength()); + IgnoreError(aMessage.MoveOffset(header.GetLength())); switch (header.GetCommand()) { #if OPENTHREAD_FTD case Header::kCommandDiscoveryRequest: - Get().HandleDiscoveryRequest(aMessage, aMessageInfo); + IgnoreError(Get().HandleDiscoveryRequest(aMessage, aMessageInfo)); break; #endif case Header::kCommandDiscoveryResponse: - HandleDiscoveryResponse(aMessage, aMessageInfo); + IgnoreError(HandleDiscoveryResponse(aMessage, aMessageInfo)); break; default: @@ -2682,7 +2683,7 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn VerifyOrExit(aMessage.GetOffset() + header.GetLength() + sizeof(messageTag) <= aMessage.GetLength(), error = OT_ERROR_PARSE); - aMessage.MoveOffset(header.GetLength() - 1); + IgnoreError(aMessage.MoveOffset(header.GetLength() - 1)); aMessage.Read(aMessage.GetLength() - sizeof(messageTag), sizeof(messageTag), messageTag); SuccessOrExit(error = aMessage.SetLength(aMessage.GetLength() - sizeof(messageTag))); @@ -2710,7 +2711,7 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn #ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION aMessage.Write(aMessage.GetOffset(), length, buf); #endif - aMessage.MoveOffset(length); + IgnoreError(aMessage.MoveOffset(length)); } tagLength = sizeof(tag); @@ -2724,10 +2725,10 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn Get().SetCurrentKeySequence(keySequence); } - aMessage.SetOffset(mleOffset); + IgnoreError(aMessage.SetOffset(mleOffset)); aMessage.Read(aMessage.GetOffset(), sizeof(command), &command); - aMessage.MoveOffset(sizeof(command)); + IgnoreError(aMessage.MoveOffset(sizeof(command))); switch (mRole) { @@ -2773,35 +2774,35 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn switch (command) { case Header::kCommandAdvertisement: - HandleAdvertisement(aMessage, aMessageInfo, neighbor); + IgnoreError(HandleAdvertisement(aMessage, aMessageInfo, neighbor)); break; case Header::kCommandDataResponse: - HandleDataResponse(aMessage, aMessageInfo, neighbor); + IgnoreError(HandleDataResponse(aMessage, aMessageInfo, neighbor)); break; case Header::kCommandParentResponse: - HandleParentResponse(aMessage, aMessageInfo, keySequence); + IgnoreError(HandleParentResponse(aMessage, aMessageInfo, keySequence)); break; case Header::kCommandChildIdResponse: - HandleChildIdResponse(aMessage, aMessageInfo, neighbor); + IgnoreError(HandleChildIdResponse(aMessage, aMessageInfo, neighbor)); break; case Header::kCommandAnnounce: - HandleAnnounce(aMessage, aMessageInfo); + IgnoreError(HandleAnnounce(aMessage, aMessageInfo)); break; case Header::kCommandChildUpdateRequest: #if OPENTHREAD_FTD if (IsRouterOrLeader()) { - Get().HandleChildUpdateRequest(aMessage, aMessageInfo, keySequence); + IgnoreError(Get().HandleChildUpdateRequest(aMessage, aMessageInfo, keySequence)); } else #endif { - HandleChildUpdateRequest(aMessage, aMessageInfo, neighbor); + IgnoreError(HandleChildUpdateRequest(aMessage, aMessageInfo, neighbor)); } break; @@ -2810,39 +2811,39 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn #if OPENTHREAD_FTD if (IsRouterOrLeader()) { - Get().HandleChildUpdateResponse(aMessage, aMessageInfo, keySequence, neighbor); + IgnoreError(Get().HandleChildUpdateResponse(aMessage, aMessageInfo, keySequence, neighbor)); } else #endif { - HandleChildUpdateResponse(aMessage, aMessageInfo, neighbor); + IgnoreError(HandleChildUpdateResponse(aMessage, aMessageInfo, neighbor)); } break; #if OPENTHREAD_FTD case Header::kCommandLinkRequest: - Get().HandleLinkRequest(aMessage, aMessageInfo, neighbor); + IgnoreError(Get().HandleLinkRequest(aMessage, aMessageInfo, neighbor)); break; case Header::kCommandLinkAccept: - Get().HandleLinkAccept(aMessage, aMessageInfo, keySequence, neighbor); + IgnoreError(Get().HandleLinkAccept(aMessage, aMessageInfo, keySequence, neighbor)); break; case Header::kCommandLinkAcceptAndRequest: - Get().HandleLinkAcceptAndRequest(aMessage, aMessageInfo, keySequence, neighbor); + IgnoreError(Get().HandleLinkAcceptAndRequest(aMessage, aMessageInfo, keySequence, neighbor)); break; case Header::kCommandDataRequest: - Get().HandleDataRequest(aMessage, aMessageInfo, neighbor); + IgnoreError(Get().HandleDataRequest(aMessage, aMessageInfo, neighbor)); break; case Header::kCommandParentRequest: - Get().HandleParentRequest(aMessage, aMessageInfo); + IgnoreError(Get().HandleParentRequest(aMessage, aMessageInfo)); break; case Header::kCommandChildIdRequest: - Get().HandleChildIdRequest(aMessage, aMessageInfo, keySequence); + IgnoreError(Get().HandleChildIdRequest(aMessage, aMessageInfo, keySequence)); break; #if OPENTHREAD_CONFIG_TIME_SYNC_ENABLE @@ -2895,7 +2896,7 @@ otError Mle::HandleAdvertisement(const Message &aMessage, const Ip6::MessageInfo if ((aNeighbor == &mParent) && (mParent.GetRloc16() != sourceAddress)) { // Remove stale parent. - BecomeDetached(); + IgnoreError(BecomeDetached()); } } } @@ -2922,7 +2923,7 @@ otError Mle::HandleAdvertisement(const Message &aMessage, const Ip6::MessageInfo if ((Tlv::GetTlv(aMessage, Tlv::kRoute, sizeof(route), route) == OT_ERROR_NONE) && route.IsValid()) { // Overwrite Route Data - Get().ProcessRouteTlv(route); + IgnoreError(Get().ProcessRouteTlv(route)); } } #endif @@ -2942,7 +2943,7 @@ otError Mle::HandleAdvertisement(const Message &aMessage, const Ip6::MessageInfo if (mRetrieveNewNetworkData || IsNetworkDataNewer(leaderData)) { delay = Random::NonCrypto::GetUint16InRange(0, kMleMaxResponseDelay); - SendDataRequest(aMessageInfo.GetPeerAddr(), tlvs, sizeof(tlvs), delay); + IgnoreError(SendDataRequest(aMessageInfo.GetPeerAddr(), tlvs, sizeof(tlvs), delay)); } exit: @@ -2974,7 +2975,7 @@ otError Mle::HandleDataResponse(const Message & aMessage, // running out the specified number. E.g. other component also trigger fast poll, and // is waiting for response; or the corner case where multiple Mle Data Request attempts // happened due to the retransmission mechanism. - IgnoreReturnValue(Get().StopFastPolls()); + IgnoreError(Get().StopFastPolls()); } exit: @@ -3096,8 +3097,8 @@ otError Mle::HandleLeaderData(const Message &aMessage, const Ip6::MessageInfo &a if (activeDatasetOffset > 0) { aMessage.Read(activeDatasetOffset, sizeof(tlv), &tlv); - Get().Save(activeTimestamp, aMessage, activeDatasetOffset + sizeof(tlv), - tlv.GetLength()); + IgnoreError(Get().Save(activeTimestamp, aMessage, activeDatasetOffset + sizeof(tlv), + tlv.GetLength())); } } @@ -3107,8 +3108,8 @@ otError Mle::HandleLeaderData(const Message &aMessage, const Ip6::MessageInfo &a if (pendingDatasetOffset > 0) { aMessage.Read(pendingDatasetOffset, sizeof(tlv), &tlv); - Get().Save(pendingTimestamp, aMessage, pendingDatasetOffset + sizeof(tlv), - tlv.GetLength()); + IgnoreError(Get().Save(pendingTimestamp, aMessage, + pendingDatasetOffset + sizeof(tlv), tlv.GetLength())); } } @@ -3133,7 +3134,7 @@ exit: delay = 10; } - SendDataRequest(aMessageInfo.GetPeerAddr(), tlvs, sizeof(tlvs), delay); + IgnoreError(SendDataRequest(aMessageInfo.GetPeerAddr(), tlvs, sizeof(tlvs), delay)); } else if (error == OT_ERROR_NONE) { @@ -3471,7 +3472,8 @@ otError Mle::HandleChildIdResponse(const Message & aMessage, if (Tlv::GetOffset(aMessage, Tlv::kActiveDataset, offset) == OT_ERROR_NONE) { aMessage.Read(offset, sizeof(tlv), &tlv); - Get().Save(activeTimestamp, aMessage, offset + sizeof(tlv), tlv.GetLength()); + IgnoreError( + Get().Save(activeTimestamp, aMessage, offset + sizeof(tlv), tlv.GetLength())); } } @@ -3490,7 +3492,8 @@ otError Mle::HandleChildIdResponse(const Message & aMessage, if (Tlv::GetOffset(aMessage, Tlv::kPendingDataset, offset) == OT_ERROR_NONE) { aMessage.Read(offset, sizeof(tlv), &tlv); - Get().Save(pendingTimestamp, aMessage, offset + sizeof(tlv), tlv.GetLength()); + IgnoreError( + Get().Save(pendingTimestamp, aMessage, offset + sizeof(tlv), tlv.GetLength())); } } else @@ -3539,8 +3542,9 @@ otError Mle::HandleChildIdResponse(const Message & aMessage, mParent.SetRloc16(sourceAddress); - Get().SetNetworkData(leaderData.GetDataVersion(), leaderData.GetStableDataVersion(), - !IsFullNetworkData(), aMessage, networkDataOffset); + IgnoreError(Get().SetNetworkData(leaderData.GetDataVersion(), + leaderData.GetStableDataVersion(), !IsFullNetworkData(), + aMessage, networkDataOffset)); SetStateChild(shortAddress); @@ -3593,7 +3597,7 @@ otError Mle::HandleChildUpdateRequest(const Message & aMessage, switch (Tlv::ReadUint8Tlv(aMessage, Tlv::kStatus, status)) { case OT_ERROR_NONE: - VerifyOrExit(status != StatusTlv::kError, BecomeDetached()); + VerifyOrExit(status != StatusTlv::kError, IgnoreError(BecomeDetached())); break; case OT_ERROR_NOT_FOUND: break; @@ -3603,7 +3607,7 @@ otError Mle::HandleChildUpdateRequest(const Message & aMessage, if (mParent.GetRloc16() != sourceAddress) { - BecomeDetached(); + IgnoreError(BecomeDetached()); ExitNow(); } @@ -3683,7 +3687,7 @@ otError Mle::HandleChildUpdateResponse(const Message & aMessage, // Status if (Tlv::ReadUint8Tlv(aMessage, Tlv::kStatus, status) == OT_ERROR_NONE) { - BecomeDetached(); + IgnoreError(BecomeDetached()); ExitNow(); } @@ -3723,7 +3727,7 @@ otError Mle::HandleChildUpdateResponse(const Message & aMessage, if (RouterIdFromRloc16(sourceAddress) != RouterIdFromRloc16(GetRloc16())) { - BecomeDetached(); + IgnoreError(BecomeDetached()); ExitNow(); } @@ -3828,10 +3832,10 @@ otError Mle::HandleAnnounce(const Message &aMessage, const Ip6::MessageInfo &aMe } else if (localTimestamp->Compare(timestamp) < 0) { - SendAnnounce(channel, false); + IgnoreError(SendAnnounce(channel, false)); #if OPENTHREAD_CONFIG_MLE_SEND_UNICAST_ANNOUNCE_RESPONSE - SendAnnounce(channel, false, aMessageInfo.GetPeerAddr()); + IgnoreError(SendAnnounce(channel, false, aMessageInfo.GetPeerAddr())); #endif } else @@ -3868,10 +3872,10 @@ void Mle::ProcessAnnounce(void) mAlternatePanId = Get().GetPanId(); mAlternateTimestamp = 0; - Get().SetPanChannel(newChannel); + IgnoreError(Get().SetPanChannel(newChannel)); Get().SetPanId(newPanId); - Start(/* aAnnounceAttach */ true); + IgnoreError(Start(/* aAnnounceAttach */ true)); } otError Mle::HandleDiscoveryResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo) @@ -3930,7 +3934,7 @@ otError Mle::HandleDiscoveryResponse(const Message &aMessage, const Ip6::Message case MeshCoP::Tlv::kNetworkName: aMessage.Read(offset, sizeof(networkName), &networkName); - static_cast(result.mNetworkName).Set(networkName.GetNetworkName()); + IgnoreError(static_cast(result.mNetworkName).Set(networkName.GetNetworkName())); break; case MeshCoP::Tlv::kSteeringData: @@ -4144,7 +4148,7 @@ void Mle::HandleParentSearchTimer(void) otLogInfoMle("PeriodicParentSearch: Parent RSS less than %d, searching for new parents", kParentSearchRssThreadhold); mParentSearchIsInBackoff = true; - BecomeChild(kAttachAny); + IgnoreError(BecomeChild(kAttachAny)); } exit: @@ -4371,7 +4375,7 @@ void Mle::RegisterParentResponseStatsCallback(otThreadParentResponseCallback aCa void Mle::Challenge::GenerateRandom(void) { mLength = kMaxChallengeSize; - Random::Crypto::FillBuffer(mBuffer, mLength); + IgnoreError(Random::Crypto::FillBuffer(mBuffer, mLength)); } bool Mle::Challenge::Matches(const uint8_t *aBuffer, uint8_t aLength) const diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index fd719165e..1adade15a 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -101,7 +101,7 @@ void MleRouter::HandlePartitionChange(void) mPreviousPartitionIdTimeout = GetNetworkIdTimeout(); Get().Clear(); - Get().AbortTransaction(&MleRouter::HandleAddressSolicitResponse, this); + IgnoreError(Get().AbortTransaction(&MleRouter::HandleAddressSolicitResponse, this)); mRouterTable.Clear(); } @@ -132,7 +132,7 @@ otError MleRouter::SetRouterEligible(bool aEligible) case kRoleLeader: if (!mRouterEligible) { - BecomeDetached(); + IgnoreError(BecomeDetached()); } break; @@ -219,7 +219,7 @@ void MleRouter::StopLeader(void) Get().StopLeader(); StopAdvertiseTimer(); Get().Stop(); - Get().UnsubscribeAllRoutersMulticast(); + IgnoreError(Get().UnsubscribeAllRoutersMulticast()); } void MleRouter::HandleDetachStart(void) @@ -246,14 +246,14 @@ otError MleRouter::HandleChildStart(AttachMode aMode) Get().SetBeaconEnabled(true); } - Get().SubscribeAllRoutersMulticast(); + IgnoreError(Get().SubscribeAllRoutersMulticast()); VerifyOrExit(IsRouterIdValid(mPreviousRouterId), error = OT_ERROR_INVALID_STATE); switch (aMode) { case kAttachSameDowngrade: - SendAddressRelease(); + IgnoreError(SendAddressRelease()); // reset children info if any if (HasChildren()) @@ -269,7 +269,7 @@ otError MleRouter::HandleChildStart(AttachMode aMode) case kAttachSame2: if (HasChildren()) { - BecomeRouter(ThreadStatusTlv::kHaveChildIdRequest); + IgnoreError(BecomeRouter(ThreadStatusTlv::kHaveChildIdRequest)); } break; @@ -293,7 +293,7 @@ otError MleRouter::HandleChildStart(AttachMode aMode) case kAttachBetter: if (HasChildren() && mPreviousPartitionIdRouter != mLeaderData.GetPartitionId()) { - BecomeRouter(ThreadStatusTlv::kParentPartitionChange); + IgnoreError(BecomeRouter(ThreadStatusTlv::kParentPartitionChange)); } break; @@ -322,7 +322,7 @@ void MleRouter::SetStateRouter(uint16_t aRloc16) StopAdvertiseTimer(); ResetAdvertiseInterval(); - Get().SubscribeAllRoutersMulticast(); + IgnoreError(Get().SubscribeAllRoutersMulticast()); mPreviousPartitionIdRouter = mLeaderData.GetPartitionId(); Get().Stop(); Get().SetForwardingEnabled(true); @@ -350,17 +350,17 @@ void MleRouter::SetStateLeader(uint16_t aRloc16) mMessageTransmissionTimer.Stop(); StopAdvertiseTimer(); ResetAdvertiseInterval(); - AddLeaderAloc(); + IgnoreError(AddLeaderAloc()); - Get().SubscribeAllRoutersMulticast(); + IgnoreError(Get().SubscribeAllRoutersMulticast()); mPreviousPartitionIdRouter = mLeaderData.GetPartitionId(); mStateUpdateTimer.Start(kStateUpdatePeriod); Get().Start(); Get().StartLeader(); Get().StartLeader(); - Get().AddResource(mAddressSolicit); - Get().AddResource(mAddressRelease); + IgnoreError(Get().AddResource(mAddressSolicit)); + IgnoreError(Get().AddResource(mAddressRelease)); Get().SetForwardingEnabled(true); Get().SetTimerExpirations(kMplRouterDataMessageTimerExpirations); Get().SetBeaconEnabled(true); @@ -389,7 +389,7 @@ bool MleRouter::HandleAdvertiseTimer(void) VerifyOrExit(IsRouterEligible(), continueTrickle = false); - SendAdvertisement(); + IgnoreError(SendAdvertisement()); exit: return continueTrickle; @@ -406,8 +406,8 @@ void MleRouter::ResetAdvertiseInterval(void) if (!mAdvertiseTimer.IsRunning()) { - mAdvertiseTimer.Start(Time::SecToMsec(kAdvertiseIntervalMin), Time::SecToMsec(kAdvertiseIntervalMax), - TrickleTimer::kModeNormal); + IgnoreError(mAdvertiseTimer.Start(Time::SecToMsec(kAdvertiseIntervalMin), + Time::SecToMsec(kAdvertiseIntervalMax), TrickleTimer::kModeNormal)); } mAdvertiseTimer.IndicateInconsistent(); @@ -935,7 +935,7 @@ otError MleRouter::HandleLinkAccept(const Message & aMessage, } mRetrieveNewNetworkData = true; - SendDataRequest(aMessageInfo.GetPeerAddr(), dataRequestTlvs, sizeof(dataRequestTlvs), 0); + IgnoreError(SendDataRequest(aMessageInfo.GetPeerAddr(), dataRequestTlvs, sizeof(dataRequestTlvs), 0)); #if OPENTHREAD_CONFIG_TIME_SYNC_ENABLE Get().HandleTimeSyncMessage(aMessage); @@ -957,7 +957,7 @@ otError MleRouter::HandleLinkAccept(const Message & aMessage, if (mRetrieveNewNetworkData || (static_cast(leaderData.GetDataVersion() - Get().GetVersion()) > 0)) { - SendDataRequest(aMessageInfo.GetPeerAddr(), dataRequestTlvs, sizeof(dataRequestTlvs), 0); + IgnoreError(SendDataRequest(aMessageInfo.GetPeerAddr(), dataRequestTlvs, sizeof(dataRequestTlvs), 0)); } // Route (optional) @@ -1084,7 +1084,7 @@ otError MleRouter::ProcessRouteTlv(const RouteTlv &aRoute) if (IsRouter() && !mRouterTable.IsAllocated(mRouterId)) { - BecomeDetached(); + IgnoreError(BecomeDetached()); error = OT_ERROR_NO_ROUTE; } @@ -1220,7 +1220,7 @@ otError MleRouter::HandleAdvertisement(const Message & aMessage, #endif ) { - BecomeChild(kAttachBetter); + IgnoreError(BecomeChild(kAttachBetter)); } ExitNow(error = OT_ERROR_DROP); @@ -1232,7 +1232,7 @@ otError MleRouter::HandleAdvertisement(const Message & aMessage, if (!IsChild()) { otLogInfoMle("Leader ID mismatch"); - BecomeDetached(); + IgnoreError(BecomeDetached()); error = OT_ERROR_DROP; } @@ -1301,7 +1301,7 @@ otError MleRouter::HandleAdvertisement(const Message & aMessage, if (mParent.GetRloc16() != sourceAddress) { - BecomeDetached(); + IgnoreError(BecomeDetached()); ExitNow(error = OT_ERROR_NO_ROUTE); } @@ -1364,7 +1364,7 @@ otError MleRouter::HandleAdvertisement(const Message & aMessage, router->ResetLinkFailures(); router->SetLastHeard(TimerMilli::GetNow()); router->SetState(Neighbor::kStateLinkRequest); - SendLinkRequest(router); + IgnoreError(SendLinkRequest(router)); ExitNow(error = OT_ERROR_NO_ROUTE); } } @@ -1411,7 +1411,7 @@ otError MleRouter::HandleAdvertisement(const Message & aMessage, router->ResetLinkFailures(); router->SetLastHeard(TimerMilli::GetNow()); router->SetState(Neighbor::kStateLinkRequest); - SendLinkRequest(router); + IgnoreError(SendLinkRequest(router)); ExitNow(error = OT_ERROR_NO_ROUTE); } @@ -1761,7 +1761,7 @@ void MleRouter::HandleStateUpdateTimer(void) case kRoleDetached: if (mChallengeTimeout == 0) { - BecomeDetached(); + IgnoreError(BecomeDetached()); ExitNow(); } @@ -1773,7 +1773,7 @@ void MleRouter::HandleStateUpdateTimer(void) if (mRouterTable.GetActiveRouterCount() < mRouterUpgradeThreshold) { // upgrade to Router - BecomeRouter(ThreadStatusTlv::kTooFewRouters); + IgnoreError(BecomeRouter(ThreadStatusTlv::kTooFewRouters)); } else { @@ -1783,11 +1783,11 @@ void MleRouter::HandleStateUpdateTimer(void) if (!mAdvertiseTimer.IsRunning()) { - SendAdvertisement(); + IgnoreError(SendAdvertisement()); - mAdvertiseTimer.Start(Time::SecToMsec(kReedAdvertiseInterval), - Time::SecToMsec(kReedAdvertiseInterval + kReedAdvertiseJitter), - TrickleTimer::kModePlainTimer); + IgnoreError(mAdvertiseTimer.Start(Time::SecToMsec(kReedAdvertiseInterval), + Time::SecToMsec(kReedAdvertiseInterval + kReedAdvertiseJitter), + TrickleTimer::kModePlainTimer)); } ExitNow(); @@ -1802,14 +1802,14 @@ void MleRouter::HandleStateUpdateTimer(void) if ((mRouterTable.GetActiveRouterCount() > 0) && (mRouterTable.GetLeaderAge() >= mNetworkIdTimeout)) { otLogInfoMle("Router ID Sequence timeout"); - BecomeChild(kAttachSame1); + IgnoreError(BecomeChild(kAttachSame1)); } if (routerStateUpdate && mRouterTable.GetActiveRouterCount() > mRouterDowngradeThreshold) { // downgrade to REED otLogNoteMle("Downgrade to REED"); - BecomeChild(kAttachSameDowngrade); + IgnoreError(BecomeChild(kAttachSameDowngrade)); } break; @@ -1850,7 +1850,7 @@ void MleRouter::HandleStateUpdateTimer(void) } else if (IsRouterOrLeader() && child.IsStateRestored()) { - SendChildUpdateRequest(child); + IgnoreError(SendChildUpdateRequest(child)); } } @@ -1913,7 +1913,7 @@ void MleRouter::HandleStateUpdateTimer(void) mRouterTable.GetLinkCost(router) >= kMaxRouteCost && age >= Time::SecToMsec(kMaxLeaderToRouterTimeout)) { otLogInfoMle("Router ID timeout expired (no route)"); - mRouterTable.Release(router.GetRouterId()); + IgnoreError(mRouterTable.Release(router.GetRouterId())); } } } @@ -2115,7 +2115,7 @@ otError MleRouter::UpdateChildAddresses(const Message &aMessage, uint16_t aOffse continue; } - IgnoreReturnValue(iter.GetChild()->RemoveIp6Address(address)); + IgnoreError(iter.GetChild()->RemoveIp6Address(address)); } // Clear EID-to-RLOC cache for the unicast address registered by the child. @@ -2295,7 +2295,7 @@ otError MleRouter::HandleChildIdRequest(const Message & aMessage, case kRoleChild: child->SetState(Neighbor::kStateChildIdRequest); - BecomeRouter(ThreadStatusTlv::kHaveChildIdRequest); + IgnoreError(BecomeRouter(ThreadStatusTlv::kHaveChildIdRequest)); break; case kRoleRouter: @@ -2471,7 +2471,7 @@ otError MleRouter::HandleChildUpdateRequest(const Message & aMessage, { if (childDidChange) { - StoreChild(*child); + IgnoreError(StoreChild(*child)); } } @@ -2684,7 +2684,7 @@ otError MleRouter::HandleDataRequest(const Message & aMessage, tlvs[numTlvs++] = Tlv::kPendingDataset; } - SendDataResponse(aMessageInfo.GetPeerAddr(), tlvs, numTlvs, 0); + IgnoreError(SendDataResponse(aMessageInfo.GetPeerAddr(), tlvs, numTlvs, 0)); exit: @@ -2707,7 +2707,7 @@ void MleRouter::HandleNetworkDataUpdateRouter(void) destination.SetToLinkLocalAllNodesMulticast(); delay = IsLeader() ? 0 : Random::NonCrypto::GetUint16InRange(0, kUnsolicitedDataResponseJitter); - SendDataResponse(destination, tlvs, sizeof(tlvs), delay); + IgnoreError(SendDataResponse(destination, tlvs, sizeof(tlvs), delay)); SynchronizeChildNetworkData(); @@ -3291,7 +3291,7 @@ void MleRouter::RemoveRouterLink(Router &aRouter) case kRoleChild: if (&aRouter == &mParent) { - BecomeDetached(); + IgnoreError(BecomeDetached()); } break; @@ -3313,7 +3313,7 @@ void MleRouter::RemoveNeighbor(Neighbor &aNeighbor) { if (IsChild()) { - BecomeDetached(); + IgnoreError(BecomeDetached()); } } else if (!IsActiveRouter(aNeighbor.GetRloc16())) @@ -3331,7 +3331,7 @@ void MleRouter::RemoveNeighbor(Neighbor &aNeighbor) Get().Remove(aNeighbor.GetRloc16()); } - RemoveStoredChild(aNeighbor.GetRloc16()); + IgnoreError(RemoveStoredChild(aNeighbor.GetRloc16())); } else if (aNeighbor.IsStateValid()) { @@ -3696,7 +3696,7 @@ exit: // children info to ensure that the non-volatile settings remain // consistent with the child table. - RefreshStoredChildren(); + IgnoreError(RefreshStoredChildren()); } } @@ -3721,7 +3721,7 @@ otError MleRouter::StoreChild(const Child &aChild) { Settings::ChildInfo childInfo; - IgnoreReturnValue(RemoveStoredChild(aChild.GetRloc16())); + IgnoreError(RemoveStoredChild(aChild.GetRloc16())); childInfo.Init(); childInfo.SetExtAddress(aChild.GetExtAddress()); @@ -4091,12 +4091,12 @@ void MleRouter::HandleAddressSolicitResponse(Coap::Message * aMessage, } // send link request - SendLinkRequest(NULL); + IgnoreError(SendLinkRequest(NULL)); // send child id responses for (ChildTable::Iterator iter(GetInstance(), Child::kInStateChildIdRequest); !iter.IsDone(); iter++) { - SendChildIdResponse(*iter.GetChild()); + IgnoreError(SendChildIdResponse(*iter.GetChild())); } exit: @@ -4270,7 +4270,7 @@ void MleRouter::HandleAddressRelease(Coap::Message &aMessage, const Ip6::Message VerifyOrExit((router != NULL) && (router->GetExtAddress() == extAddress), OT_NOOP); - mRouterTable.Release(routerId); + IgnoreError(mRouterTable.Release(routerId)); SuccessOrExit(Get().SendEmptyAck(aMessage, aMessageInfo)); @@ -4641,7 +4641,7 @@ void MleRouter::SetChildStateToValid(Child &aChild) VerifyOrExit(!aChild.IsStateValid(), OT_NOOP); aChild.SetState(Neighbor::kStateValid); - StoreChild(aChild); + IgnoreError(StoreChild(aChild)); Signal(OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED, aChild); exit: diff --git a/src/core/thread/mle_router.hpp b/src/core/thread/mle_router.hpp index 0f52ad1a9..71fade2f4 100644 --- a/src/core/thread/mle_router.hpp +++ b/src/core/thread/mle_router.hpp @@ -887,7 +887,7 @@ public: uint8_t GetCost(uint16_t) { return 0; } otError RemoveNeighbor(Neighbor &) { return BecomeDetached(); } - otError RemoveRouterLink(Router &) { return BecomeDetached(); } + void RemoveRouterLink(Router &) { IgnoreError(BecomeDetached()); } Neighbor *GetNeighbor(const Mac::ExtAddress &aAddress) { return Mle::GetNeighbor(aAddress); } Neighbor *GetNeighbor(const Mac::Address &aAddress) { return Mle::GetNeighbor(aAddress); } diff --git a/src/core/thread/network_data.cpp b/src/core/thread/network_data.cpp index f9c555dd2..fed7d06c2 100644 --- a/src/core/thread/network_data.cpp +++ b/src/core/thread/network_data.cpp @@ -810,7 +810,7 @@ otError NetworkData::SendServerDataNotification(uint16_t aRloc16, Coap::Response SuccessOrExit(error = Tlv::AppendUint16Tlv(*message, ThreadTlv::kRloc16, aRloc16)); } - Get().GetLeaderAloc(messageInfo.GetPeerAddr()); + IgnoreError(Get().GetLeaderAloc(messageInfo.GetPeerAddr())); messageInfo.SetSockAddr(Get().GetMeshLocal16()); messageInfo.SetPeerPort(kCoapUdpPort); SuccessOrExit(error = Get().SendMessage(*message, messageInfo, aHandler, aContext)); diff --git a/src/core/thread/network_data_leader.cpp b/src/core/thread/network_data_leader.cpp index 777471bf5..5095b4c77 100644 --- a/src/core/thread/network_data_leader.cpp +++ b/src/core/thread/network_data_leader.cpp @@ -455,7 +455,7 @@ otError LeaderBase::SetCommissioningData(const uint8_t *aValue, uint8_t aValueLe otError error = OT_ERROR_NONE; CommissioningDataTlv *commissioningDataTlv; - RemoveCommissioningData(); + IgnoreError(RemoveCommissioningData()); if (aValueLength > 0) { diff --git a/src/core/thread/network_data_leader_ftd.cpp b/src/core/thread/network_data_leader_ftd.cpp index 687e09f5c..31f383bba 100644 --- a/src/core/thread/network_data_leader_ftd.cpp +++ b/src/core/thread/network_data_leader_ftd.cpp @@ -76,9 +76,9 @@ void Leader::Reset(void) void Leader::Start(void) { - Get().AddResource(mServerData); - Get().AddResource(mCommissioningDataGet); - Get().AddResource(mCommissioningDataSet); + IgnoreError(Get().AddResource(mServerData)); + IgnoreError(Get().AddResource(mCommissioningDataGet)); + IgnoreError(Get().AddResource(mCommissioningDataSet)); } void Leader::Stop(void) @@ -160,7 +160,8 @@ void Leader::HandleServerData(Coap::Message &aMessage, const Ip6::MessageInfo &a if (ThreadTlv::GetTlv(aMessage, ThreadTlv::kThreadNetworkData, sizeof(networkData), networkData) == OT_ERROR_NONE) { VerifyOrExit(networkData.IsValid(), OT_NOOP); - RegisterNetworkData(aMessageInfo.GetPeerAddr().GetLocator(), networkData.GetTlvs(), networkData.GetLength()); + IgnoreError(RegisterNetworkData(aMessageInfo.GetPeerAddr().GetLocator(), networkData.GetTlvs(), + networkData.GetLength())); } SuccessOrExit(Get().SendEmptyAck(aMessage, aMessageInfo)); @@ -264,7 +265,7 @@ void Leader::HandleCommissioningSet(Coap::Message &aMessage, const Ip6::MessageI } } - SetCommissioningData(tlvs, static_cast(length)); + IgnoreError(SetCommissioningData(tlvs, static_cast(length))); state = MeshCoP::StateTlv::kAccept; @@ -288,7 +289,7 @@ void Leader::HandleCommissioningGet(Coap::Message &aMessage, const Ip6::MessageI uint16_t offset; SuccessOrExit(Tlv::GetValueOffset(aMessage, MeshCoP::Tlv::kGet, offset, length)); - aMessage.SetOffset(offset); + IgnoreError(aMessage.SetOffset(offset)); exit: SendCommissioningGetResponse(aMessage, length, aMessageInfo); @@ -346,7 +347,7 @@ void Leader::SendCommissioningGetResponse(const Coap::Message & aRequest, if (message->GetLength() == message->GetOffset()) { // no payload, remove coap payload marker - message->SetLength(message->GetLength() - 1); + IgnoreError(message->SetLength(message->GetLength() - 1)); } SuccessOrExit(error = Get().SendMessage(*message, aMessageInfo)); diff --git a/src/core/thread/network_data_local.cpp b/src/core/thread/network_data_local.cpp index 99e9f7a8c..460abce2e 100644 --- a/src/core/thread/network_data_local.cpp +++ b/src/core/thread/network_data_local.cpp @@ -147,7 +147,7 @@ otError Local::AddPrefix(const uint8_t * aPrefix, Mle::MeshLocalPrefix::kLength, error = OT_ERROR_INVALID_ARGS); - RemovePrefix(aPrefix, aPrefixLength, aSubTlvType); + IgnoreError(RemovePrefix(aPrefix, aPrefixLength, aSubTlvType)); subTlvLength = (aSubTlvType == NetworkDataTlv::kTypeBorderRouter) ? sizeof(BorderRouterTlv) + sizeof(BorderRouterEntry) @@ -254,7 +254,7 @@ otError Local::AddService(uint32_t aEnterpriseNumber, uint16_t serviceTlvSize = ServiceTlv::CalculateSize(aEnterpriseNumber, aServiceDataLength) + sizeof(ServerTlv) + aServerDataLength; - RemoveService(aEnterpriseNumber, aServiceData, aServiceDataLength); + IgnoreError(RemoveService(aEnterpriseNumber, aServiceData, aServiceDataLength)); VerifyOrExit(serviceTlvSize <= kMaxSize, error = OT_ERROR_NO_BUFS); diff --git a/src/core/thread/network_diagnostic.cpp b/src/core/thread/network_diagnostic.cpp index d9664c27e..29998e417 100644 --- a/src/core/thread/network_diagnostic.cpp +++ b/src/core/thread/network_diagnostic.cpp @@ -63,10 +63,10 @@ NetworkDiagnostic::NetworkDiagnostic(Instance &aInstance) , mReceiveDiagnosticGetCallback(NULL) , mReceiveDiagnosticGetCallbackContext(NULL) { - Get().AddResource(mDiagnosticGetRequest); - Get().AddResource(mDiagnosticGetQuery); - Get().AddResource(mDiagnosticGetAnswer); - Get().AddResource(mDiagnosticReset); + IgnoreError(Get().AddResource(mDiagnosticGetRequest)); + IgnoreError(Get().AddResource(mDiagnosticGetQuery)); + IgnoreError(Get().AddResource(mDiagnosticGetAnswer)); + IgnoreError(Get().AddResource(mDiagnosticReset)); } void NetworkDiagnostic::SetReceiveDiagnosticGetCallback(otReceiveDiagnosticGetCallback aCallback, @@ -394,7 +394,8 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest, tlv.Init(); length = sizeof(NetworkDataTlv) - sizeof(Tlv); // sizeof( NetworkDataTlv::mNetworkData ) - Get().GetNetworkData(/* aStableOnly */ false, tlv.GetNetworkData(), length); + IgnoreError( + Get().GetNetworkData(/* aStableOnly */ false, tlv.GetNetworkData(), length)); tlv.SetLength(length); SuccessOrExit(error = tlv.AppendTo(aResponse)); @@ -553,7 +554,7 @@ void NetworkDiagnostic::HandleDiagnosticGetQuery(Coap::Message &aMessage, const if (message->GetLength() == message->GetOffset()) { // Remove Payload Marker if payload is actually empty. - message->SetLength(message->GetLength() - 1); + IgnoreError(message->SetLength(message->GetLength() - 1)); } SuccessOrExit(error = Get().SendMessage(*message, messageInfo, NULL, this)); @@ -603,7 +604,7 @@ void NetworkDiagnostic::HandleDiagnosticGetRequest(Coap::Message &aMessage, cons if (message->GetLength() == message->GetOffset()) { // Remove Payload Marker if payload is actually empty. - message->SetLength(message->GetOffset() - 1); + IgnoreError(message->SetLength(message->GetOffset() - 1)); } SuccessOrExit(error = Get().SendMessage(*message, messageInfo)); diff --git a/src/core/thread/panid_query_server.cpp b/src/core/thread/panid_query_server.cpp index 4720ad96a..fc42f77c0 100644 --- a/src/core/thread/panid_query_server.cpp +++ b/src/core/thread/panid_query_server.cpp @@ -53,7 +53,7 @@ PanIdQueryServer::PanIdQueryServer(Instance &aInstance) , mTimer(aInstance, &PanIdQueryServer::HandleTimer, this) , mPanIdQuery(OT_URI_PATH_PANID_QUERY, &PanIdQueryServer::HandleQuery, this) { - Get().AddResource(mPanIdQuery); + IgnoreError(Get().AddResource(mPanIdQuery)); } void PanIdQueryServer::HandleQuery(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) @@ -104,7 +104,7 @@ void PanIdQueryServer::HandleScanResult(Mac::ActiveScanResult *aScanResult) } else if (mChannelMask != 0) { - SendConflict(); + IgnoreError(SendConflict()); } } @@ -150,7 +150,7 @@ void PanIdQueryServer::HandleTimer(Timer &aTimer) void PanIdQueryServer::HandleTimer(void) { - Get().ActiveScan(mChannelMask, 0, HandleScanResult, this); + IgnoreError(Get().ActiveScan(mChannelMask, 0, HandleScanResult, this)); mChannelMask = 0; } diff --git a/src/core/thread/thread_netif.cpp b/src/core/thread/thread_netif.cpp index ade576702..ea1612ab5 100644 --- a/src/core/thread/thread_netif.cpp +++ b/src/core/thread/thread_netif.cpp @@ -131,20 +131,20 @@ void ThreadNetif::Up(void) // Enable the MAC just in case it was disabled while the Interface was down. Get().SetEnabled(true); #if OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE - Get().Start(); + IgnoreError(Get().Start()); #endif Get().Start(); mIsUp = true; - SubscribeAllNodesMulticast(); - Get().Enable(); - Get().Start(kCoapUdpPort); + IgnoreError(SubscribeAllNodesMulticast()); + IgnoreError(Get().Enable()); + IgnoreError(Get().Start(kCoapUdpPort)); #if OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE - Get().Start(); + IgnoreError(Get().Start()); #endif #if OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE - Get().Start(); + IgnoreError(Get().Start()); #endif Get().Signal(OT_CHANGED_THREAD_NETIF_STATE); @@ -157,25 +157,25 @@ void ThreadNetif::Down(void) VerifyOrExit(mIsUp, OT_NOOP); #if OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE - Get().Stop(); + IgnoreError(Get().Stop()); #endif #if OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE - Get().Stop(); + IgnoreError(Get().Stop()); #endif #if OPENTHREAD_CONFIG_DTLS_ENABLE Get().Stop(); #endif - Get().Stop(); - Get().Disable(); + IgnoreError(Get().Stop()); + IgnoreError(Get().Disable()); RemoveAllExternalUnicastAddresses(); UnsubscribeAllExternalMulticastAddresses(); - UnsubscribeAllRoutersMulticast(); - UnsubscribeAllNodesMulticast(); + IgnoreError(UnsubscribeAllRoutersMulticast()); + IgnoreError(UnsubscribeAllNodesMulticast()); mIsUp = false; Get().Stop(); #if OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE - Get().Stop(); + IgnoreError(Get().Stop()); #endif Get().Signal(OT_CHANGED_THREAD_NETIF_STATE); diff --git a/src/core/thread/topology.cpp b/src/core/thread/topology.cpp index 1870da09e..8a2b007c1 100644 --- a/src/core/thread/topology.cpp +++ b/src/core/thread/topology.cpp @@ -107,7 +107,8 @@ bool Neighbor::MatchesFilter(StateFilter aFilter) const void Neighbor::GenerateChallenge(void) { - Random::Crypto::FillBuffer(mValidPending.mPending.mChallenge, sizeof(mValidPending.mPending.mChallenge)); + IgnoreError( + Random::Crypto::FillBuffer(mValidPending.mPending.mChallenge, sizeof(mValidPending.mPending.mChallenge))); } void Child::Clear(void) @@ -284,7 +285,7 @@ exit: void Child::GenerateChallenge(void) { - Random::Crypto::FillBuffer(mAttachChallenge, sizeof(mAttachChallenge)); + IgnoreError(Random::Crypto::FillBuffer(mAttachChallenge, sizeof(mAttachChallenge))); } void Router::Clear(void) diff --git a/src/core/utils/channel_manager.cpp b/src/core/utils/channel_manager.cpp index 872158981..2ad800fde 100644 --- a/src/core/utils/channel_manager.cpp +++ b/src/core/utils/channel_manager.cpp @@ -236,7 +236,7 @@ void ChannelManager::HandleTimer(void) { case kStateIdle: otLogInfoUtil("ChannelManager: Auto-triggered channel select"); - IgnoreReturnValue(RequestChannelSelect(false)); + IgnoreError(RequestChannelSelect(false)); StartAutoSelectTimer(); break; @@ -409,7 +409,7 @@ void ChannelManager::SetAutoChannelSelectionEnabled(bool aEnabled) if (aEnabled != mAutoSelectEnabled) { mAutoSelectEnabled = aEnabled; - IgnoreReturnValue(RequestChannelSelect(false)); + IgnoreError(RequestChannelSelect(false)); StartAutoSelectTimer(); } } diff --git a/src/core/utils/channel_monitor.cpp b/src/core/utils/channel_monitor.cpp index 8d4eeda9a..d25796a67 100644 --- a/src/core/utils/channel_monitor.cpp +++ b/src/core/utils/channel_monitor.cpp @@ -119,7 +119,8 @@ void ChannelMonitor::HandleTimer(Timer &aTimer) void ChannelMonitor::HandleTimer(void) { - Get().EnergyScan(mScanChannelMasks[mChannelMaskIndex], 0, &ChannelMonitor::HandleEnergyScanResult, this); + IgnoreError(Get().EnergyScan(mScanChannelMasks[mChannelMaskIndex], 0, + &ChannelMonitor::HandleEnergyScanResult, this)); mTimer.StartAt(mTimer.GetFireTime(), Random::NonCrypto::AddJitter(kTimerInterval, kMaxJitterInterval)); } @@ -194,7 +195,7 @@ void ChannelMonitor::LogResults(void) for (size_t i = 0; i < kNumChannels; i++) { - logString.Append("%02x ", mChannelOccupancy[i] >> 8); + IgnoreError(logString.Append("%02x ", mChannelOccupancy[i] >> 8)); } otLogInfoUtil("ChannelMonitor: %u [%s]", mSampleCount, logString.AsCString()); diff --git a/src/core/utils/child_supervision.cpp b/src/core/utils/child_supervision.cpp index 54f3ce455..5ef58b5f7 100644 --- a/src/core/utils/child_supervision.cpp +++ b/src/core/utils/child_supervision.cpp @@ -241,7 +241,7 @@ void SupervisionListener::HandleTimer(void) otLogWarnUtil("Supervision timeout. No frame from parent in %d sec", mTimeout); - Get().SendChildUpdateRequest(); + IgnoreError(Get().SendChildUpdateRequest()); exit: RestartTimer(); diff --git a/src/core/utils/slaac_address.cpp b/src/core/utils/slaac_address.cpp index bf74e11d1..9b437758c 100644 --- a/src/core/utils/slaac_address.cpp +++ b/src/core/utils/slaac_address.cpp @@ -186,7 +186,7 @@ void Slaac::Update(UpdateMode aMode) { otLogInfoUtil("SLAAC: Removing address %s", slaacAddr->GetAddress().ToString().AsCString()); - Get().RemoveUnicastAddress(*slaacAddr); + IgnoreError(Get().RemoveUnicastAddress(*slaacAddr)); slaacAddr->mValid = false; } } @@ -238,11 +238,11 @@ void Slaac::Update(UpdateMode aMode) slaacAddr->mPreferred = config.mPreferred; slaacAddr->mValid = true; - GenerateIid(*slaacAddr); + IgnoreError(GenerateIid(*slaacAddr)); otLogInfoUtil("SLAAC: Adding address %s", slaacAddr->GetAddress().ToString().AsCString()); - Get().AddUnicastAddress(*slaacAddr); + IgnoreError(Get().AddUnicastAddress(*slaacAddr)); added = true; break; @@ -342,10 +342,10 @@ void Slaac::GetIidSecretKey(IidSecretKey &aKey) const if (error != OT_ERROR_NONE) { - Random::Crypto::FillBuffer(aKey.m8, sizeof(IidSecretKey)); + IgnoreError(Random::Crypto::FillBuffer(aKey.m8, sizeof(IidSecretKey))); } - Get().SaveSlaacIidSecretKey(aKey); + IgnoreError(Get().SaveSlaacIidSecretKey(aKey)); otLogInfoUtil("SLAAC: Generated and saved secret key"); diff --git a/src/lib/hdlc/hdlc.cpp b/src/lib/hdlc/hdlc.cpp index ea9c5165b..11c9fe956 100644 --- a/src/lib/hdlc/hdlc.cpp +++ b/src/lib/hdlc/hdlc.cpp @@ -138,8 +138,8 @@ otError Encoder::Encode(uint8_t aByte) { VerifyOrExit(mWritePointer.CanWrite(2), error = OT_ERROR_NO_BUFS); - mWritePointer.WriteByte(kEscapeSequence); - mWritePointer.WriteByte(aByte ^ 0x20); + IgnoreError(mWritePointer.WriteByte(kEscapeSequence)); + IgnoreError(mWritePointer.WriteByte(aByte ^ 0x20)); } else { @@ -262,7 +262,7 @@ void Decoder::Decode(const uint8_t *aData, uint16_t aLength) if (mWritePointer.CanWrite(sizeof(uint8_t))) { mFcs = UpdateFcs(mFcs, byte); - mWritePointer.WriteByte(byte); + IgnoreError(mWritePointer.WriteByte(byte)); mDecodedLength++; } else @@ -281,7 +281,7 @@ void Decoder::Decode(const uint8_t *aData, uint16_t aLength) { byte ^= 0x20; mFcs = UpdateFcs(mFcs, byte); - mWritePointer.WriteByte(byte); + IgnoreError(mWritePointer.WriteByte(byte)); mDecodedLength++; mState = kStateSync; } diff --git a/src/lib/hdlc/hdlc.hpp b/src/lib/hdlc/hdlc.hpp index 9799700e1..8116a9288 100644 --- a/src/lib/hdlc/hdlc.hpp +++ b/src/lib/hdlc/hdlc.hpp @@ -217,7 +217,7 @@ public: mWritePointer = mBuffer + kHeaderSize; mRemainingLength = kSize - kHeaderSize; - SetSkipLength(0); + IgnoreError(SetSkipLength(0)); } /** @@ -322,7 +322,7 @@ public: { Encoding::LittleEndian::WriteUint16(GetSkipLength() + GetLength(), mWriteFrameStart + kHeaderTotalLengthOffset); mWriteFrameStart = mWritePointer; - SetSkipLength(0); + IgnoreError(SetSkipLength(0)); mWritePointer = GetFrame(); mRemainingLength = static_cast(mBuffer + kSize - mWritePointer); } @@ -334,7 +334,7 @@ public: */ void DiscardFrame(void) { - SetSkipLength(0); + IgnoreError(SetSkipLength(0)); mWritePointer = GetFrame(); mRemainingLength = static_cast(mBuffer + kSize - mWritePointer); diff --git a/src/lib/spinel/spinel_buffer.cpp b/src/lib/spinel/spinel_buffer.cpp index 529995de5..2d9520fb5 100644 --- a/src/lib/spinel/spinel_buffer.cpp +++ b/src/lib/spinel/spinel_buffer.cpp @@ -93,7 +93,7 @@ void Buffer::Clear(void) while ((message = otMessageQueueGetHead(&mWriteFrameMessageQueue)) != NULL) { - otMessageQueueDequeue(&mWriteFrameMessageQueue, message); + IgnoreError(otMessageQueueDequeue(&mWriteFrameMessageQueue, message)); // Note that messages associated with current (unfinished) input frame // are not yet owned by the `Buffer` and therefore should not @@ -104,7 +104,7 @@ void Buffer::Clear(void) { while ((message = otMessageQueueGetHead(&mMessageQueue[priority])) != NULL) { - otMessageQueueDequeue(&mMessageQueue[priority], message); + IgnoreError(otMessageQueueDequeue(&mMessageQueue[priority], message)); otMessageFree(message); } } @@ -317,7 +317,7 @@ void Buffer::InFrameDiscard(void) #if OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE while ((message = otMessageQueueGetHead(&mWriteFrameMessageQueue)) != NULL) { - otMessageQueueDequeue(&mWriteFrameMessageQueue, message); + IgnoreError(otMessageQueueDequeue(&mWriteFrameMessageQueue, message)); // Note that messages associated with current (unfinished) input frame // being discarded, are not yet owned by the `Buffer` and @@ -520,8 +520,8 @@ otError Buffer::InFrameEnd(void) // Move all the messages from the frame queue to the main queue. while ((message = otMessageQueueGetHead(&mWriteFrameMessageQueue)) != NULL) { - otMessageQueueDequeue(&mWriteFrameMessageQueue, message); - otMessageQueueEnqueue(&mMessageQueue[mWriteDirection], message); + IgnoreError(otMessageQueueDequeue(&mWriteFrameMessageQueue, message)); + IgnoreError(otMessageQueueEnqueue(&mMessageQueue[mWriteDirection], message)); } #endif @@ -745,7 +745,7 @@ uint8_t Buffer::OutFrameReadByte(void) // If there is no message, move to next segment (if any). if (error != OT_ERROR_NONE) { - OutFramePrepareSegment(); + IgnoreError(OutFramePrepareSegment()); } } @@ -766,7 +766,7 @@ uint8_t Buffer::OutFrameReadByte(void) // If no more bytes in the message, move to next segment (if any). if (error != OT_ERROR_NONE) { - OutFramePrepareSegment(); + IgnoreError(OutFramePrepareSegment()); } } #endif @@ -831,7 +831,7 @@ otError Buffer::OutFrameRemove(void) if ((message = otMessageQueueGetHead(&mMessageQueue[mReadDirection])) != NULL) { - otMessageQueueDequeue(&mMessageQueue[mReadDirection], message); + IgnoreError(otMessageQueueDequeue(&mMessageQueue[mReadDirection], message)); otMessageFree(message); } } diff --git a/src/ncp/ncp_base.cpp b/src/ncp/ncp_base.cpp index 5253d2551..3f705b436 100644 --- a/src/ncp/ncp_base.cpp +++ b/src/ncp/ncp_base.cpp @@ -260,7 +260,7 @@ NcpBase::NcpBase(Instance *aInstance) #if OPENTHREAD_MTD || OPENTHREAD_FTD otMessageQueueInit(&mMessageQueue); - otSetStateChangedCallback(mInstance, &NcpBase::HandleStateChanged, this); + IgnoreError(otSetStateChangedCallback(mInstance, &NcpBase::HandleStateChanged, this)); otIp6SetReceiveCallback(mInstance, &NcpBase::HandleDatagramFromStack, this); otIp6SetReceiveFilterEnabled(mInstance, true); #if OPENTHREAD_CONFIG_TIME_SYNC_ENABLE @@ -285,7 +285,7 @@ NcpBase::NcpBase(Instance *aInstance) #endif #endif // OPENTHREAD_MTD || OPENTHREAD_FTD mChangedPropsSet.AddLastStatus(SPINEL_STATUS_RESET_UNKNOWN); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); #if OPENTHREAD_ENABLE_VENDOR_EXTENSION aInstance->Get().SignalNcpInit(*this); @@ -348,7 +348,7 @@ void NcpBase::HandleReceive(const uint8_t *aBuf, uint16_t aBufLength) // We only support IID zero for now. if (SPINEL_HEADER_GET_IID(header) != 0) { - WriteLastStatusFrame(header, SPINEL_STATUS_INVALID_INTERFACE); + IgnoreError(WriteLastStatusFrame(header, SPINEL_STATUS_INVALID_INTERFACE)); ExitNow(); } @@ -356,7 +356,7 @@ void NcpBase::HandleReceive(const uint8_t *aBuf, uint16_t aBufLength) if (error != OT_ERROR_NONE) { - PrepareLastStatusResponse(header, ThreadErrorToSpinelStatus(error)); + IgnoreError(PrepareLastStatusResponse(header, ThreadErrorToSpinelStatus(error))); } if (!IsResponseQueueEmpty()) @@ -368,7 +368,7 @@ void NcpBase::HandleReceive(const uint8_t *aBuf, uint16_t aBufLength) // from `HandleFrameRemovedFromNcpBuffer()` when buffer space // becomes available. - IgnoreReturnValue(SendQueuedResponses()); + IgnoreError(SendQueuedResponses()); } // Check for out of sequence TIDs and update `mNextExpectedTid`, @@ -499,7 +499,7 @@ exit: if (error == OT_ERROR_NO_BUFS) { mChangedPropsSet.AddLastStatus(SPINEL_STATUS_NOMEM); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } return error; @@ -643,7 +643,7 @@ exit: if (error == OT_ERROR_NO_BUFS) { mChangedPropsSet.AddLastStatus(SPINEL_STATUS_NOMEM); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } } @@ -1046,8 +1046,8 @@ otError NcpBase::HandleCommandPropertyInsertRemove(uint8_t aHeader, spinel_prop_ // that the `PropertyHandler` method can parse the content. mDecoder.SavePosition(); - mDecoder.ReadData(valuePtr, valueLen); - mDecoder.ResetToSaved(); + IgnoreError(mDecoder.ReadData(valuePtr, valueLen)); + IgnoreError(mDecoder.ResetToSaved()); mDisableStreamWrite = false; @@ -1179,8 +1179,8 @@ otError NcpBase::CommandHandler_RESET(uint8_t aHeader) // platform doesn't support resetting. // In such a case we fake it. - otThreadSetEnabled(mInstance, false); - otIp6SetEnabled(mInstance, false); + IgnoreError(otThreadSetEnabled(mInstance, false)); + IgnoreError(otIp6SetEnabled(mInstance, false)); #endif error = WriteLastStatusFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_STATUS_RESET_SOFTWARE); @@ -1188,7 +1188,7 @@ otError NcpBase::CommandHandler_RESET(uint8_t aHeader) if (error != OT_ERROR_NONE) { mChangedPropsSet.AddLastStatus(SPINEL_STATUS_RESET_UNKNOWN); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } sNcpInstance = NULL; @@ -1674,7 +1674,7 @@ template <> otError NcpBase::HandlePropertySet( { SuccessOrExit(error = mDecoder.ReadUintPacked(propKey)); - IgnoreReturnValue(mChangedPropsSet.EnablePropertyFilter(static_cast(propKey), true)); + IgnoreError(mChangedPropsSet.EnablePropertyFilter(static_cast(propKey), true)); } exit: @@ -1685,7 +1685,7 @@ exit: if (error != OT_ERROR_NONE) { - IgnoreReturnValue( + IgnoreError( WritePropertyValueIsFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_PROP_UNSOL_UPDATE_FILTER)); } @@ -2253,7 +2253,7 @@ template <> otError NcpBase::HandlePropertySet( OT_UNREACHABLE_CODE(break); } - otLoggingSetLevel(logLevel); + IgnoreError(otLoggingSetLevel(logLevel)); exit: return error; @@ -2409,7 +2409,7 @@ extern "C" void otNcpPlatLogv(otLogLevel aLogLevel, otLogRegion aLogRegion, cons charsWritten = static_cast(sizeof(logString) - 1); } - otNcpStreamWrite(0, reinterpret_cast(logString), charsWritten); + IgnoreError(otNcpStreamWrite(0, reinterpret_cast(logString), charsWritten)); } } diff --git a/src/ncp/ncp_base_ftd.cpp b/src/ncp/ncp_base_ftd.cpp index d932488c9..07c57e46d 100644 --- a/src/ncp/ncp_base_ftd.cpp +++ b/src/ncp/ncp_base_ftd.cpp @@ -179,7 +179,7 @@ exit: } mChangedPropsSet.AddLastStatus(SPINEL_STATUS_NOMEM); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } } @@ -680,7 +680,7 @@ exit: if (error != OT_ERROR_NONE) { mChangedPropsSet.AddLastStatus(SPINEL_STATUS_NOMEM); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } } @@ -723,7 +723,7 @@ exit: if (error != OT_ERROR_NONE) { mChangedPropsSet.AddLastStatus(SPINEL_STATUS_NOMEM); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } } diff --git a/src/ncp/ncp_base_mtd.cpp b/src/ncp/ncp_base_mtd.cpp index f86ece3c3..0edd8ce01 100644 --- a/src/ncp/ncp_base_mtd.cpp +++ b/src/ncp/ncp_base_mtd.cpp @@ -476,9 +476,9 @@ template <> otError NcpBase::HandlePropertyGet( uint8_t networkData[255]; uint8_t networkDataLen = 255; - otBorderRouterGetNetData(mInstance, - false, // Stable? - networkData, &networkDataLen); + IgnoreError(otBorderRouterGetNetData(mInstance, + false, // Stable? + networkData, &networkDataLen)); return mEncoder.WriteData(networkData, networkDataLen); } @@ -488,9 +488,9 @@ template <> otError NcpBase::HandlePropertyGet otError NcpBase::HandlePropertyGet otError NcpBase::HandlePropertyGet otError NcpBase::HandlePropertyGet(void) int8_t averageRssi; int8_t lastRssi; - otThreadGetParentAverageRssi(mInstance, &averageRssi); - otThreadGetParentLastRssi(mInstance, &lastRssi); + IgnoreError(otThreadGetParentAverageRssi(mInstance, &averageRssi)); + IgnoreError(otThreadGetParentLastRssi(mInstance, &lastRssi)); SuccessOrExit(error = mEncoder.WriteEui64(parentInfo.mExtAddress)); SuccessOrExit(error = mEncoder.WriteUint16(parentInfo.mRloc16)); @@ -662,7 +662,8 @@ exit: // the state of these ports, so we need to report // those incomplete changes via an asynchronous // change event. - WritePropertyValueIsFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_PROP_THREAD_ASSISTING_PORTS); + IgnoreError( + WritePropertyValueIsFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_PROP_THREAD_ASSISTING_PORTS)); } return error; @@ -691,7 +692,7 @@ exit: if (shouldRegisterWithLeader) { - otBorderRouterRegister(mInstance); + IgnoreError(otBorderRouterRegister(mInstance)); } return error; @@ -831,7 +832,7 @@ exit: if (shouldRegisterWithLeader) { - otServerRegister(mInstance); + IgnoreError(otServerRegister(mInstance)); } return error; @@ -1091,7 +1092,7 @@ template <> otError NcpBase::HandlePropertyGet otError NcpBase::HandlePropertyGet otError NcpBase::HandlePropertySet(vo if (enabled) { - otJamDetectionStart(mInstance, &NcpBase::HandleJamStateChange_Jump, this); + IgnoreError(otJamDetectionStart(mInstance, &NcpBase::HandleJamStateChange_Jump, this)); } else { - otJamDetectionStop(mInstance); + IgnoreError(otJamDetectionStop(mInstance)); } exit: @@ -2063,7 +2064,7 @@ void NcpBase::HandleJamStateChange(bool aJamState) OT_UNUSED_VARIABLE(aJamState); mChangedPropsSet.AddProperty(SPINEL_PROP_JAM_DETECTED); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } #endif // OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE @@ -2673,7 +2674,7 @@ exit: if (error != OT_ERROR_NONE) { - WritePropertyValueIsFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_PROP_MAC_WHITELIST); + IgnoreError(WritePropertyValueIsFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_PROP_MAC_WHITELIST)); } return error; @@ -2731,7 +2732,7 @@ exit: if (error != OT_ERROR_NONE) { - WritePropertyValueIsFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_PROP_MAC_BLACKLIST); + IgnoreError(WritePropertyValueIsFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_PROP_MAC_BLACKLIST)); } return error; @@ -2794,7 +2795,7 @@ exit: if (error != OT_ERROR_NONE) { - WritePropertyValueIsFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_PROP_MAC_FIXED_RSS); + IgnoreError(WritePropertyValueIsFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_PROP_MAC_FIXED_RSS)); } return error; @@ -3151,7 +3152,7 @@ void NcpBase::HandleDidReceiveNewLegacyUlaPrefix(const uint8_t *aUlaPrefix) { memcpy(mLegacyUlaPrefix, aUlaPrefix, OT_NCP_LEGACY_ULA_PREFIX_LENGTH); mChangedPropsSet.AddProperty(SPINEL_PROP_NEST_LEGACY_ULA_PREFIX); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } void NcpBase::HandleLegacyNodeDidJoin(const otExtAddress *aExtAddr) @@ -3159,7 +3160,7 @@ void NcpBase::HandleLegacyNodeDidJoin(const otExtAddress *aExtAddr) mLegacyNodeDidJoin = true; mLegacyLastJoinedNode = *aExtAddr; mChangedPropsSet.AddProperty(SPINEL_PROP_NEST_LEGACY_LAST_NODE_JOINED); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } template <> otError NcpBase::HandlePropertyGet(void) @@ -3245,7 +3246,7 @@ void NcpBase::HandleTimeSyncUpdate(void *aContext) void NcpBase::HandleTimeSyncUpdate(void) { mChangedPropsSet.AddProperty(SPINEL_PROP_THREAD_NETWORK_TIME); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } #endif // OPENTHREAD_CONFIG_TIME_SYNC_ENABLE @@ -3303,7 +3304,7 @@ void NcpBase::HandleActiveScanResult(otActiveScanResult *aResult) // We are finished with the scan, send an unsolicited // scan state update. mChangedPropsSet.AddProperty(SPINEL_PROP_MAC_SCAN_STATE); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } exit: @@ -3314,7 +3315,7 @@ exit: // an async `LAST_STATUS(NOMEM)` when buffer space becomes // available. mChangedPropsSet.AddLastStatus(SPINEL_STATUS_NOMEM); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } } @@ -3340,7 +3341,7 @@ void NcpBase::HandleEnergyScanResult(otEnergyScanResult *aResult) // We are finished with the scan, send an unsolicited // scan state update. mChangedPropsSet.AddProperty(SPINEL_PROP_MAC_SCAN_STATE); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } exit: @@ -3348,7 +3349,7 @@ exit: if (error != OT_ERROR_NONE) { mChangedPropsSet.AddLastStatus(SPINEL_STATUS_NOMEM); - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } } @@ -3379,7 +3380,7 @@ void NcpBase::HandleJoinerCallback(otError aError) break; } - mUpdateChangedPropsTask.Post(); + IgnoreError(mUpdateChangedPropsTask.Post()); } #endif @@ -3407,7 +3408,7 @@ void NcpBase::HandleDatagramFromStack(otMessage *aMessage) if (IsResponseQueueEmpty()) { - IgnoreReturnValue(SendQueuedDatagramMessages()); + IgnoreError(SendQueuedDatagramMessages()); } exit: @@ -3455,13 +3456,13 @@ otError NcpBase::SendQueuedDatagramMessages(void) // If forming of the spinel frame fails, the message is enqueued // back at the front of `mMessageQueue`. - otMessageQueueDequeue(&mMessageQueue, message); + IgnoreError(otMessageQueueDequeue(&mMessageQueue, message)); error = SendDatagramMessage(message); if (error != OT_ERROR_NONE) { - otMessageQueueEnqueueAtHead(&mMessageQueue, message); + IgnoreError(otMessageQueueEnqueueAtHead(&mMessageQueue, message)); } SuccessOrExit(error); @@ -3629,7 +3630,7 @@ void NcpBase::HandleStateChanged(otChangedFlags aFlags, void *aContext) NcpBase *ncp = static_cast(aContext); ncp->mThreadChangedFlags |= aFlags; - ncp->mUpdateChangedPropsTask.Post(); + IgnoreError(ncp->mUpdateChangedPropsTask.Post()); } void NcpBase::ProcessThreadChangedFlags(void) @@ -3690,7 +3691,7 @@ void NcpBase::ProcessThreadChangedFlags(void) ) { mThreadChangedFlags &= ~static_cast(OT_CHANGED_THREAD_PARTITION_ID); - otThreadSetEnabled(mInstance, false); + IgnoreError(otThreadSetEnabled(mInstance, false)); mChangedPropsSet.AddProperty(SPINEL_PROP_NET_STACK_UP); mChangedPropsSet.AddLastStatus(SPINEL_STATUS_JOIN_FAILURE); diff --git a/src/ncp/ncp_base_radio.cpp b/src/ncp/ncp_base_radio.cpp index 25d91207c..eefba4146 100644 --- a/src/ncp/ncp_base_radio.cpp +++ b/src/ncp/ncp_base_radio.cpp @@ -167,7 +167,7 @@ void NcpBase::LinkRawEnergyScanDone(int8_t aEnergyScanMaxRssi) // Make sure we are back listening on the original receive channel, // since the energy scan could have been on a different channel. - otLinkRawReceive(mInstance, &NcpBase::LinkRawReceiveDone); + IgnoreError(otLinkRawReceive(mInstance, &NcpBase::LinkRawReceiveDone)); SuccessOrExit(mEncoder.BeginFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_CMD_PROP_VALUE_IS, SPINEL_PROP_MAC_ENERGY_SCAN_RESULT)); @@ -318,7 +318,7 @@ template <> otError NcpBase::HandlePropertySet(void) // If we have raw stream enabled stop receiving if (mIsRawStreamEnabled) { - otLinkRawSleep(mInstance); + IgnoreError(otLinkRawSleep(mInstance)); } error = otLinkRawSetEnable(mInstance, false); diff --git a/src/ncp/ncp_uart.cpp b/src/ncp/ncp_uart.cpp index 45178f88b..18b85a766 100644 --- a/src/ncp/ncp_uart.cpp +++ b/src/ncp/ncp_uart.cpp @@ -97,7 +97,7 @@ NcpUart::NcpUart(Instance *aInstance) { mTxFrameBuffer.SetFrameAddedCallback(HandleFrameAddedToNcpBuffer, this); - otPlatUartEnable(); + IgnoreError(otPlatUartEnable()); } void NcpUart::HandleFrameAddedToNcpBuffer(void * aContext, @@ -116,7 +116,7 @@ void NcpUart::HandleFrameAddedToNcpBuffer(void) { if (mUartBuffer.IsEmpty()) { - mUartSendTask.Post(); + IgnoreError(mUartSendTask.Post()); } } @@ -153,7 +153,7 @@ void NcpUart::EncodeAndSendToUart(void) VerifyOrExit(!super_t::ShouldDeferHostSend(), OT_NOOP); SuccessOrExit(mFrameEncoder.BeginFrame()); - txFrameBuffer.OutFrameBegin(); + IgnoreError(txFrameBuffer.OutFrameBegin()); mState = kEncodingFrame; @@ -170,7 +170,7 @@ void NcpUart::EncodeAndSendToUart(void) // call to OutFrameRemove. prevHostPowerState = mHostPowerStateInProgress; - txFrameBuffer.OutFrameRemove(); + IgnoreError(txFrameBuffer.OutFrameRemove()); if (prevHostPowerState && !mHostPowerStateInProgress) { @@ -227,7 +227,7 @@ void NcpUart::HandleUartSendDone(void) { mUartBuffer.Clear(); - mUartSendTask.Post(); + IgnoreError(mUartSendTask.Post()); } extern "C" void otPlatUartReceived(const uint8_t *aBuf, uint16_t aBufLength) @@ -287,7 +287,7 @@ void NcpUart::HandleError(otError aError, uint8_t *aBuf, uint16_t aBufLength) snprintf(hexbuf, sizeof(hexbuf), "Framing error %d: [", aError); // Write out the first part of our log message. - otNcpStreamWrite(0, reinterpret_cast(hexbuf), static_cast(strlen(hexbuf))); + IgnoreError(otNcpStreamWrite(0, reinterpret_cast(hexbuf), static_cast(strlen(hexbuf)))); // The first '3' comes from the trailing "]\n\000" at the end o the string. // The second '3' comes from the length of two hex digits and a space. @@ -305,7 +305,7 @@ void NcpUart::HandleError(otError aError, uint8_t *aBuf, uint16_t aBufLength) // Write out the second part of our log message. // We skip the first byte since it has a space in it. - otNcpStreamWrite(0, reinterpret_cast(hexbuf + 1), static_cast(strlen(hexbuf) - 1)); + IgnoreError(otNcpStreamWrite(0, reinterpret_cast(hexbuf + 1), static_cast(strlen(hexbuf) - 1))); } #if OPENTHREAD_ENABLE_NCP_SPINEL_ENCRYPTER diff --git a/src/posix/main.c b/src/posix/main.c index 32f2a0432..1d7092911 100644 --- a/src/posix/main.c +++ b/src/posix/main.c @@ -74,6 +74,7 @@ #else #error "Unknown posix app type!" #endif +#include #include #include @@ -326,7 +327,7 @@ static otInstance *InitInstance(int aArgCount, char *aArgVector[]) setlogmask(setlogmask(0) & LOG_UPTO(LOG_DEBUG)); syslog(LOG_INFO, "Running %s", otGetVersionString()); syslog(LOG_INFO, "Thread version: %hu", otThreadGetVersion()); - otLoggingSetLevel(config.mLogLevel); + IgnoreError(otLoggingSetLevel(config.mLogLevel)); instance = otSysInit(&config.mPlatformConfig); diff --git a/src/posix/platform/spi_interface.cpp b/src/posix/platform/spi_interface.cpp index be2909fc1..55e338224 100644 --- a/src/posix/platform/spi_interface.cpp +++ b/src/posix/platform/spi_interface.cpp @@ -679,7 +679,7 @@ void SpiInterface::Process(const RadioProcessContext &aContext) if (mSpiTxIsReady || CheckInterrupt()) { // We guard this with the above check because we don't want to overwrite any previously received frames. - PushPullSpi(); + IgnoreError(PushPullSpi()); } } @@ -737,7 +737,7 @@ otError SpiInterface::WaitForFrame(uint64_t aTimeoutUs) if (isDataReady) { - PushPullSpi(); + IgnoreError(PushPullSpi()); } else if (ret == 0) { @@ -764,7 +764,7 @@ otError SpiInterface::SendFrame(const uint8_t *aFrame, uint16_t aLength) mSpiTxIsReady = true; mSpiTxPayloadSize = aLength; - PushPullSpi(); + IgnoreError(PushPullSpi()); exit: return error; diff --git a/tests/fuzz/cli_uart_received.cpp b/tests/fuzz/cli_uart_received.cpp index 8b39b5ed7..f791a93c4 100644 --- a/tests/fuzz/cli_uart_received.cpp +++ b/tests/fuzz/cli_uart_received.cpp @@ -56,10 +56,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) instance = otInstanceInitSingle(); otCliUartInit(instance); - otLinkSetPanId(instance, panId); - otIp6SetEnabled(instance, true); - otThreadSetEnabled(instance, true); - otThreadBecomeLeader(instance); + IgnoreError(otLinkSetPanId(instance, panId)); + IgnoreError(otIp6SetEnabled(instance, true)); + IgnoreError(otThreadSetEnabled(instance, true)); + IgnoreError(otThreadBecomeLeader(instance)); buf = static_cast(malloc(size)); diff --git a/tests/fuzz/ip6_send.cpp b/tests/fuzz/ip6_send.cpp index 45eeac022..b5f2b4a83 100644 --- a/tests/fuzz/ip6_send.cpp +++ b/tests/fuzz/ip6_send.cpp @@ -55,10 +55,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) FuzzerPlatformInit(); instance = otInstanceInitSingle(); - otLinkSetPanId(instance, panId); - otIp6SetEnabled(instance, true); - otThreadSetEnabled(instance, true); - otThreadBecomeLeader(instance); + IgnoreError(otLinkSetPanId(instance, panId)); + IgnoreError(otIp6SetEnabled(instance, true)); + IgnoreError(otThreadSetEnabled(instance, true)); + IgnoreError(otThreadBecomeLeader(instance)); settings.mLinkSecurityEnabled = (data[0] & 0x1) != 0; settings.mPriority = OT_MESSAGE_PRIORITY_NORMAL; diff --git a/tests/fuzz/ncp_uart_received.cpp b/tests/fuzz/ncp_uart_received.cpp index 974d94d5b..debb9219e 100644 --- a/tests/fuzz/ncp_uart_received.cpp +++ b/tests/fuzz/ncp_uart_received.cpp @@ -56,10 +56,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) instance = otInstanceInitSingle(); otNcpInit(instance); - otLinkSetPanId(instance, panId); - otIp6SetEnabled(instance, true); - otThreadSetEnabled(instance, true); - otThreadBecomeLeader(instance); + IgnoreError(otLinkSetPanId(instance, panId)); + IgnoreError(otIp6SetEnabled(instance, true)); + IgnoreError(otThreadSetEnabled(instance, true)); + IgnoreError(otThreadBecomeLeader(instance)); buf = static_cast(malloc(size)); diff --git a/tests/fuzz/radio_receive_done.cpp b/tests/fuzz/radio_receive_done.cpp index b141a3c4d..1a7feaf60 100644 --- a/tests/fuzz/radio_receive_done.cpp +++ b/tests/fuzz/radio_receive_done.cpp @@ -55,10 +55,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) FuzzerPlatformInit(); instance = otInstanceInitSingle(); - otLinkSetPanId(instance, panId); - otIp6SetEnabled(instance, true); - otThreadSetEnabled(instance, true); - otThreadBecomeLeader(instance); + IgnoreError(otLinkSetPanId(instance, panId)); + IgnoreError(otIp6SetEnabled(instance, true)); + IgnoreError(otThreadSetEnabled(instance, true)); + IgnoreError(otThreadBecomeLeader(instance)); buf = static_cast(malloc(size));