From 4a9d80cef1cd0d4cad1b7576efa75c21cd7000ab Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Fri, 8 Nov 2019 15:52:32 -0800 Subject: [PATCH] [coap-message] add HelpData::Clear() method (#4315) --- src/core/coap/coap_message.cpp | 6 +++--- src/core/coap/coap_message.hpp | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/core/coap/coap_message.cpp b/src/core/coap/coap_message.cpp index c8c336668..edf4584b6 100644 --- a/src/core/coap/coap_message.cpp +++ b/src/core/coap/coap_message.cpp @@ -45,7 +45,7 @@ namespace Coap { void Message::Init(void) { - memset(&GetHelpData(), 0, sizeof(GetHelpData())); + GetHelpData().Clear(); SetVersion(kVersion1); SetOffset(0); GetHelpData().mHeaderLength = kMinHeaderLength; @@ -211,7 +211,7 @@ const otCoapOption *Message::GetFirstOption(void) { const otCoapOption *option = NULL; - memset(&GetHelpData().mOption, 0, sizeof(GetHelpData().mOption)); + GetHelpData().ClearOption(); VerifyOrExit(GetLength() - GetHelpData().mHeaderOffset >= GetOptionStart()); @@ -346,7 +346,7 @@ otError Message::ParseHeader(void) sizeof(GetHelpData()) + static_cast((reinterpret_cast(&GetHelpData()) - mBuffer.mHead.mData))); - memset(&GetHelpData(), 0, sizeof(GetHelpData())); + GetHelpData().Clear(); GetHelpData().mHeaderOffset = GetOffset(); Read(GetHelpData().mHeaderOffset, sizeof(GetHelpData().mHeader), &GetHelpData().mHeader); diff --git a/src/core/coap/coap_message.hpp b/src/core/coap/coap_message.hpp index 5f110dfe9..de13f5062 100644 --- a/src/core/coap/coap_message.hpp +++ b/src/core/coap/coap_message.hpp @@ -585,6 +585,9 @@ private: */ struct HelpData { + void Clear(void) { memset(this, 0, sizeof(*this)); } + void ClearOption(void) { memset(&mOption, 0, sizeof(mOption)); } + Header mHeader; otCoapOption mOption; uint16_t mNextOptionOffset; ///< The byte offset for the next CoAP Option