From 5554a3fcb974ae0aff5ee72ea9fdeda8e3870e89 Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Wed, 14 Dec 2016 15:39:30 -0800 Subject: [PATCH] Initialize all member variables in constructors. (#1074) --- src/cli/cli.cpp | 4 ++++ src/core/meshcop/commissioner.cpp | 4 ++++ src/core/meshcop/dtls.cpp | 14 ++++++++++++++ src/core/meshcop/panid_query_client.cpp | 2 ++ src/core/net/dhcp6_client.cpp | 10 +++++----- 5 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp index 333c85da7..76105f45a 100644 --- a/src/cli/cli.cpp +++ b/src/cli/cli.cpp @@ -144,6 +144,10 @@ Interpreter::Interpreter(otInstance *aInstance): mInstance->mIp6.mIcmp.SetEchoReplyHandler(&s_HandleEchoResponse, this); otSetStateChangedCallback(mInstance, &Interpreter::s_HandleNetifStateChanged, this); otSetReceiveDiagnosticGetCallback(mInstance, &Interpreter::s_HandleDiagnosticGetResponse, this); + +#if OPENTHREAD_ENABLE_DHCP6_CLIENT + memset(mDhcpAddresses, 0, sizeof(mDhcpAddresses)); +#endif // OPENTHREAD_ENABLE_DHCP6_CLIENT } int Interpreter::Hex2Bin(const char *aHex, uint8_t *aBin, uint16_t aBinLength) diff --git a/src/core/meshcop/commissioner.cpp b/src/core/meshcop/commissioner.cpp index 1d21e040f..5616b16d5 100644 --- a/src/core/meshcop/commissioner.cpp +++ b/src/core/meshcop/commissioner.cpp @@ -64,7 +64,11 @@ Commissioner::Commissioner(ThreadNetif &aThreadNetif): mEnergyScan(aThreadNetif), mPanIdQuery(aThreadNetif), mState(kStateDisabled), + mJoinerPort(0), + mJoinerRloc(0), + mSessionId(0), mTimer(aThreadNetif.GetIp6().mTimerScheduler, HandleTimer, this), + mTransmitAttempts(0), mSendKek(false), mRelayReceive(OPENTHREAD_URI_RELAY_RX, &Commissioner::HandleRelayReceive, this), mDatasetChanged(OPENTHREAD_URI_DATASET_CHANGED, &Commissioner::HandleDatasetChanged, this), diff --git a/src/core/meshcop/dtls.cpp b/src/core/meshcop/dtls.cpp index 283207e6f..e3bed88cf 100644 --- a/src/core/meshcop/dtls.cpp +++ b/src/core/meshcop/dtls.cpp @@ -48,12 +48,26 @@ namespace Thread { namespace MeshCoP { Dtls::Dtls(ThreadNetif &aNetif): + mPskLength(0), mStarted(false), mTimer(aNetif.GetIp6().mTimerScheduler, &Dtls::HandleTimer, this), mTimerIntermediate(0), mTimerSet(false), + mReceiveMessage(NULL), + mReceiveOffset(0), + mReceiveLength(0), + mReceiveHandler(NULL), + mSendHandler(NULL), + mContext(NULL), + mClient(false), mNetif(aNetif) { + memset(mPsk, 0, sizeof(mPsk)); + memset(&mEntropy, 0, sizeof(mEntropy)); + memset(&mCtrDrbg, 0, sizeof(mCtrDrbg)); + memset(&mSsl, 0, sizeof(mSsl)); + memset(&mConf, 0, sizeof(mConf)); + memset(&mCookieCtx, 0, sizeof(mCookieCtx)); mProvisioningUrl.Init(); } diff --git a/src/core/meshcop/panid_query_client.cpp b/src/core/meshcop/panid_query_client.cpp index 6aa208b8c..75a2f7e87 100644 --- a/src/core/meshcop/panid_query_client.cpp +++ b/src/core/meshcop/panid_query_client.cpp @@ -46,6 +46,8 @@ namespace Thread { PanIdQueryClient::PanIdQueryClient(ThreadNetif &aThreadNetif) : + mCallback(NULL), + mContext(NULL), mPanIdQuery(OPENTHREAD_URI_PANID_CONFLICT, &PanIdQueryClient::HandleConflict, this), mCoapServer(aThreadNetif.GetCoapServer()), mCoapClient(aThreadNetif.GetCoapClient()), diff --git a/src/core/net/dhcp6_client.cpp b/src/core/net/dhcp6_client.cpp index 9e8e5e162..9d42ae7c2 100644 --- a/src/core/net/dhcp6_client.cpp +++ b/src/core/net/dhcp6_client.cpp @@ -55,12 +55,12 @@ Dhcp6Client::Dhcp6Client(ThreadNetif &aThreadNetif) : mSocket(aThreadNetif.GetIp6().mUdp), mMle(aThreadNetif.GetMle()), mMac(aThreadNetif.GetMac()), - mNetif(aThreadNetif) + mNetif(aThreadNetif), + mStartTime(0), + mAddresses(NULL), + mNumAddresses(0) { - for (uint8_t i = 0; i < OPENTHREAD_CONFIG_NUM_DHCP_PREFIXES; i++) - { - memset(&(mIdentityAssociations[i]), 0, sizeof(IdentityAssociation)); - } + memset(mIdentityAssociations, 0, sizeof(IdentityAssociation)); for (uint8_t i = 0; i < (OPENTHREAD_CONFIG_NUM_DHCP_PREFIXES - 1); i++) {