From 7ee82c4361f4d6a0a5491a35382ac55032737676 Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Fri, 26 Aug 2016 14:35:05 -0600 Subject: [PATCH] Deallocate the public parameters during Shutdown. --- src/init.cpp | 2 ++ src/test/test_bitcoin.cpp | 1 + src/zcash/GenerateParams.cpp | 2 ++ src/zcash/JoinSplit.cpp | 5 +++-- src/zcash/JoinSplit.hpp | 2 ++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index 5010965a3..bc77f36ad 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -208,6 +208,8 @@ void Shutdown() delete pwalletMain; pwalletMain = NULL; #endif + delete pzcashParams; + pzcashParams = NULL; ECC_Stop(); LogPrintf("%s: done\n", __func__); } diff --git a/src/test/test_bitcoin.cpp b/src/test/test_bitcoin.cpp index eabceefaf..5c701c5cc 100644 --- a/src/test/test_bitcoin.cpp +++ b/src/test/test_bitcoin.cpp @@ -43,6 +43,7 @@ BasicTestingSetup::BasicTestingSetup() BasicTestingSetup::~BasicTestingSetup() { ECC_Stop(); + delete pzcashParams; } TestingSetup::TestingSetup() diff --git a/src/zcash/GenerateParams.cpp b/src/zcash/GenerateParams.cpp index 5ac3b8e6f..9e27047ab 100644 --- a/src/zcash/GenerateParams.cpp +++ b/src/zcash/GenerateParams.cpp @@ -22,5 +22,7 @@ int main(int argc, char **argv) p->saveProvingKey(pkFile); p->saveVerifyingKey(vkFile); + delete p; + return 0; } diff --git a/src/zcash/JoinSplit.cpp b/src/zcash/JoinSplit.cpp index b103581b3..986285cd5 100644 --- a/src/zcash/JoinSplit.cpp +++ b/src/zcash/JoinSplit.cpp @@ -72,6 +72,9 @@ public: boost::optional> vk; boost::optional pkPath; + JoinSplitCircuit() {} + ~JoinSplitCircuit() {} + static void initialize() { LOCK(cs_InitializeParams); @@ -122,8 +125,6 @@ public: vk = keypair.vk; } - JoinSplitCircuit() {} - bool verify( const ZCProof& proof, const uint256& pubKeyHash, diff --git a/src/zcash/JoinSplit.hpp b/src/zcash/JoinSplit.hpp index e9e89c62d..806453d75 100644 --- a/src/zcash/JoinSplit.hpp +++ b/src/zcash/JoinSplit.hpp @@ -45,6 +45,8 @@ public: template class JoinSplit { public: + virtual ~JoinSplit() {} + static JoinSplit* Generate(); static JoinSplit* Unopened(); static uint256 h_sig(const uint256& randomSeed,