diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-10-19 16:18:57 -0700 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-10-19 16:18:57 -0700 |
commit | 5e6eae620bec49086e2ad80c119f3386d84092b1 (patch) | |
tree | d846c36e9310f3535983e39bba2c881ee001664f /node | |
parent | 69dad37d8f6fdc1ca57077b1fecdc64b23254588 (diff) | |
download | infinitytier-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.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; |