From 3a6cefd48cd7c489f3ed82ac830e6de99390aceb Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Mon, 22 Jul 2019 09:38:47 -0700 Subject: [PATCH] [meshcop] avoid clearing non-trival type in DelayedJoinEntHeader (#4012) --- src/core/meshcop/joiner_router.cpp | 2 +- src/core/meshcop/joiner_router.hpp | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/core/meshcop/joiner_router.cpp b/src/core/meshcop/joiner_router.cpp index e5ca05791..2a8868353 100644 --- a/src/core/meshcop/joiner_router.cpp +++ b/src/core/meshcop/joiner_router.cpp @@ -351,7 +351,7 @@ otError JoinerRouter::DelaySendingJoinerEntrust(const Ip6::MessageInfo &aMessage messageInfo = aMessageInfo; messageInfo.SetPeerPort(kCoapUdpPort); - delayedMessage = DelayedJoinEntHeader(TimerMilli::GetNow() + kDelayJoinEnt, messageInfo, aKek.GetKek()); + delayedMessage.Init(TimerMilli::GetNow() + kDelayJoinEnt, messageInfo, aKek.GetKek()); SuccessOrExit(error = delayedMessage.AppendTo(*message)); mDelayedJoinEnts.Enqueue(*message); diff --git a/src/core/meshcop/joiner_router.hpp b/src/core/meshcop/joiner_router.hpp index f6c43aa45..52aafeb48 100644 --- a/src/core/meshcop/joiner_router.hpp +++ b/src/core/meshcop/joiner_router.hpp @@ -128,19 +128,14 @@ class DelayedJoinEntHeader { public: /** - * Default constructor for the object. - * - */ - DelayedJoinEntHeader(void) { memset(this, 0, sizeof(*this)); } - - /** - * This constructor initializes the object with specific values. + * This method initializes the object with specific values. * * @param[in] aSendTime Time when the message shall be sent. - * @param[in] aDestination IPv6 address of the message destination. + * @param[in] aMessageInfo IPv6 address of the message destination. + * @param[in] aKek A pointer to the KEK. * */ - DelayedJoinEntHeader(uint32_t aSendTime, Ip6::MessageInfo &aMessageInfo, const uint8_t *aKek) + void Init(uint32_t aSendTime, Ip6::MessageInfo &aMessageInfo, const uint8_t *aKek) { mSendTime = aSendTime; mMessageInfo = aMessageInfo;