Plug memory leaks (#5016)

This commit is contained in:
Geza Lore
2024-03-23 22:12:43 +00:00
committed by GitHub
parent 38ad328956
commit 9b729b80e0
16 changed files with 70 additions and 29 deletions
+12 -2
View File
@@ -1275,7 +1275,7 @@ public:
if (SiblingMC* const smcp = mergeCanp->toSiblingMC()) {
smcp->unlinkA();
smcp->unlinkB();
delete smcp;
VL_DO_DANGLING(delete smcp, smcp);
}
continue;
}
@@ -1306,6 +1306,16 @@ public:
// Finally merge this candidate.
contract(mergeCanp);
}
// Free remaining SiblingMCs
while (MergeCandidate* const mergeCanp = m_sb.best()) {
m_sb.remove(mergeCanp);
if (SiblingMC* const smcp = mergeCanp->toSiblingMC()) {
smcp->unlinkA();
smcp->unlinkB();
VL_DO_DANGLING(delete smcp, smcp);
}
}
}
private:
@@ -1426,7 +1436,7 @@ private:
// Remove the siblingMC
mergeSibsp->unlinkA();
mergeSibsp->unlinkB();
VL_DO_DANGLING(delete mergeEdgep, mergeEdgep);
VL_DO_DANGLING(delete mergeSibsp, mergeSibsp);
}
// This also updates cost and stepCost on recipientp