From 115b9147b9cb2542c0fac6abeb7267de9bb001f6 Mon Sep 17 00:00:00 2001 From: Brenton Bostick <bostick@gmail.com> Date: Wed, 3 May 2023 13:14:18 -0400 Subject: [PATCH] fix memory leak (#1992) --- node/NetworkConfig.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/node/NetworkConfig.cpp b/node/NetworkConfig.cpp index 4b0b05f0f..d2fa844c2 100644 --- a/node/NetworkConfig.cpp +++ b/node/NetworkConfig.cpp @@ -30,42 +30,55 @@ bool NetworkConfig::toDictionary(Dictionary<ZT_NETWORKCONFIG_DICT_CAPACITY> &d,b // Try to put the more human-readable fields first if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_VERSION,(uint64_t)ZT_NETWORKCONFIG_VERSION)) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_NETWORK_ID,this->networkId)) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_TIMESTAMP,this->timestamp)) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CREDENTIAL_TIME_MAX_DELTA,this->credentialTimeMaxDelta)) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REVISION,this->revision)) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ISSUED_TO,this->issuedTo.toString(tmp2))) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REMOTE_TRACE_TARGET,this->remoteTraceTarget.toString(tmp2))) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REMOTE_TRACE_LEVEL,(uint64_t)this->remoteTraceLevel)) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_FLAGS,this->flags)) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_MULTICAST_LIMIT,(uint64_t)this->multicastLimit)) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_TYPE,(uint64_t)this->type)) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_NAME,this->name)) { + delete tmp; return false; } if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_MTU,(uint64_t)this->mtu)) { + delete tmp; return false; }