Skip to content

Commit 62627e1

Browse files
committed
fix: CGovernanceManager::Clear() should clear all fields
1 parent 25d7b68 commit 62627e1

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

src/governance/governance.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,8 @@ CGovernanceManager::CGovernanceManager(CMasternodeMetaMan& mn_metaman, CNetFulfi
7373
m_chainman{chainman},
7474
m_dmnman{dmnman},
7575
m_mn_sync{mn_sync},
76-
nTimeLastDiff(0),
77-
nCachedBlockHeight(0),
78-
cmapVoteToObject(MAX_CACHE_SIZE),
79-
mapPostponedObjects(),
80-
fRateChecksEnabled(true),
76+
cmapVoteToObject{MAX_CACHE_SIZE},
77+
mapPostponedObjects{},
8178
mapTrigger{}
8279
{
8380
}
@@ -1268,14 +1265,22 @@ void GovernanceStore::Clear()
12681265
cmapInvalidVotes.Clear();
12691266
cmmapOrphanVotes.Clear();
12701267
mapLastMasternodeObject.clear();
1268+
lastMNListForVotingKeys = std::make_shared<CDeterministicMNList>();
12711269
}
12721270

12731271
void CGovernanceManager::Clear()
12741272
{
12751273
AssertLockNotHeld(cs_store);
12761274
LogPrint(BCLog::GOBJECT, "Governance object manager was cleared\n");
12771275
GovernanceStore::Clear();
1276+
nTimeLastDiff = 0;
1277+
nCachedBlockHeight = 0;
12781278
cmapVoteToObject.Clear();
1279+
mapPostponedObjects.clear();
1280+
setAdditionalRelayObjects.clear();
1281+
m_requested_hash_time.clear();
1282+
fRateChecksEnabled = true;
1283+
mapTrigger.clear();
12791284
}
12801285

12811286
std::string GovernanceStore::ToString() const

src/governance/governance.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -260,14 +260,14 @@ class CGovernanceManager : public GovernanceStore, public GovernanceSignerParent
260260
const std::unique_ptr<CDeterministicMNManager>& m_dmnman;
261261
CMasternodeSync& m_mn_sync;
262262

263-
int64_t nTimeLastDiff;
263+
int64_t nTimeLastDiff{0};
264264
// keep track of current block height
265-
int nCachedBlockHeight;
265+
int nCachedBlockHeight{0};
266266
object_ref_cm_t cmapVoteToObject;
267267
std::map<uint256, std::shared_ptr<CGovernanceObject>> mapPostponedObjects;
268268
std::set<uint256> setAdditionalRelayObjects;
269269
std::map<uint256, std::chrono::seconds> m_requested_hash_time;
270-
bool fRateChecksEnabled;
270+
bool fRateChecksEnabled{true};
271271
std::map<uint256, std::shared_ptr<CSuperblock>> mapTrigger;
272272

273273
mutable Mutex cs_relay;

0 commit comments

Comments
 (0)