Skip to content

Commit b2b2e12

Browse files
author
evan82
committed
Merge pull request #359 from UdjinM6/v0.12.0.x_fix_budget_segfault
v0.12.0.x fix segfault in budgets
2 parents 928f6ed + f1debd4 commit b2b2e12

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

src/masternode-budget.cpp

+4-7
Original file line numberDiff line numberDiff line change
@@ -262,18 +262,15 @@ void CBudgetManager::AddProposal(CBudgetProposal& prop)
262262

263263
void CBudgetManager::CheckAndRemove()
264264
{
265-
return;
266-
267-
//segfault happening in the following code sometimes
268265
std::map<uint256, CFinalizedBudget>::iterator it = mapFinalizedBudgets.begin();
269266
while(it != mapFinalizedBudgets.end())
270267
{
271268
CFinalizedBudget* prop = &((*it).second);
272269
if(!prop->IsValid()){
273-
mapFinalizedBudgets.erase(it);
270+
mapFinalizedBudgets.erase(it++);
274271
} else {
275272
prop->AutoCheck();
276-
it++;
273+
++it;
277274
}
278275
}
279276

@@ -282,9 +279,9 @@ void CBudgetManager::CheckAndRemove()
282279
{
283280
CBudgetProposal* prop = &((*it2).second);
284281
if(!prop->IsValid()){
285-
mapProposals.erase(it2);
282+
mapProposals.erase(it2++);
286283
} else {
287-
it2++;
284+
++it2;
288285
}
289286
}
290287
}

0 commit comments

Comments
 (0)