diff --git a/src/core/thread/key_manager.cpp b/src/core/thread/key_manager.cpp index 067b10f72..527c0efbe 100644 --- a/src/core/thread/key_manager.cpp +++ b/src/core/thread/key_manager.cpp @@ -84,7 +84,7 @@ KeyManager::KeyManager(Instance &aInstance) , mIsPskcSet(false) { mMasterKey = static_cast(kDefaultMasterKey); - memset(&mPskc, 0, sizeof(mPskc)); + mPskc.Clear(); ComputeKey(mKeySequence, mKey); } diff --git a/src/core/thread/key_manager.hpp b/src/core/thread/key_manager.hpp index 26e5da3e5..c8dfa99e8 100644 --- a/src/core/thread/key_manager.hpp +++ b/src/core/thread/key_manager.hpp @@ -97,6 +97,12 @@ OT_TOOL_PACKED_BEGIN class Pskc : public otPskc { public: + /** + * This method clears the PSKc (sets all bytes to zero). + * + */ + void Clear(void) { memset(this, 0, sizeof(*this)); } + /** * This method evaluates whether or not the Thread PSKc values match. *