summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-10-19 16:18:57 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-10-19 16:18:57 -0700
commit5e6eae620bec49086e2ad80c119f3386d84092b1 (patch)
treed846c36e9310f3535983e39bba2c881ee001664f /node
parent69dad37d8f6fdc1ca57077b1fecdc64b23254588 (diff)
downloadinfinitytier-5e6eae620bec49086e2ad80c119f3386d84092b1.tar.gz
infinitytier-5e6eae620bec49086e2ad80c119f3386d84092b1.zip
Make _members dynamically allocated due to static array limit on ARM.
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;