diff options
| author | Vladislav HrĨka <41523109+nofiv@users.noreply.github.com> | 2020-04-08 00:57:36 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-08 00:57:36 +0200 |
| commit | dc4b627e6d4eeacc78784783e9eb39a8450dd688 (patch) | |
| tree | 1c0ece29a581e1b08c64f10ccee84b839e8da423 | |
| parent | 9f052f39ca4c72c1b6146d445f7764c57876013a (diff) | |
| download | miasm-dc4b627e6d4eeacc78784783e9eb39a8450dd688.tar.gz miasm-dc4b627e6d4eeacc78784783e9eb39a8450dd688.zip | |
Minor improvement in rebuild_edges
If one deletes all the direct predecessors of a pending block, it dosn't get freed even thought it's not required anymore. Since all the pendings are recalculated here, there's no reason not to cover these cases here IMHO by clearing them prior the recalculation. Another solution is to add a watcher to del_block().
| -rw-r--r-- | miasm/core/asmblock.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/miasm/core/asmblock.py b/miasm/core/asmblock.py index abd2b2c6..93ad6b13 100644 --- a/miasm/core/asmblock.py +++ b/miasm/core/asmblock.py @@ -628,6 +628,7 @@ class AsmCFG(DiGraph): This method should be called if a block's '.bto' in nodes have been modified without notifying this instance to resynchronize edges. """ + self._pendings = {} for block in self.blocks: edges = [] # Rebuild edges from bto |