From 5e6eae620bec49086e2ad80c119f3386d84092b1 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Mon, 19 Oct 2015 16:18:57 -0700 Subject: [PATCH] Make _members dynamically allocated due to static array limit on ARM. --- node/Cluster.cpp | 4 +++- node/Cluster.hpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/node/Cluster.cpp b/node/Cluster.cpp index c08bf0020..bfa39d225 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 01db3641c..016730e32 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 _memberIds; Mutex _memberIds_m;