summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
Diffstat (limited to 'node')
-rw-r--r--node/Cluster.cpp4
-rw-r--r--node/Cluster.hpp2
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;