diff options
Diffstat (limited to 'node')
-rw-r--r-- | node/Cluster.cpp | 4 | ||||
-rw-r--r-- | node/Cluster.hpp | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/node/Cluster.cpp b/node/Cluster.cpp index c08bf002..bfa39d22 100644 --- a/node/Cluster.cpp +++ b/node/Cluster.cpp @@ -56,7 +56,8 @@ Cluster::Cluster(const RuntimeEnvironment *renv,uint16_t id,DistanceAlgorithm da _y(y), _z(z), _da(da), - _id(id) + _id(id), + _members(new _Member[65536]) { uint16_t stmp[ZT_SHA512_DIGEST_LEN / sizeof(uint16_t)]; @@ -76,6 +77,7 @@ Cluster::~Cluster() { Utils::burn(_masterSecret,sizeof(_masterSecret)); Utils::burn(_key,sizeof(_key)); + delete [] _members; } void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len) diff --git a/node/Cluster.hpp b/node/Cluster.hpp index 01db3641..016730e3 100644 --- a/node/Cluster.hpp +++ b/node/Cluster.hpp @@ -303,7 +303,7 @@ private: ~_Member() { Utils::burn(key,sizeof(key)); } }; - _Member _members[65536]; // cluster IDs can be from 0 to 65535 (16-bit) + _Member *const _members; // cluster IDs can be from 0 to 65535 (16-bit) std::vector<uint16_t> _memberIds; Mutex _memberIds_m; |