about summary refs log tree commit diff stats
path: root/miasm2/core/asmblock.py
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2018-05-09 20:01:49 +0200
committerGitHub <noreply@github.com>2018-05-09 20:01:49 +0200
commitf6e1c074f6a17b6a895dcf5352c213a1b6bacb99 (patch)
tree795167663aea7740577b19d0ce8ceddc5f189541 /miasm2/core/asmblock.py
parent28034afb1bbe1fe6a51f7d49784b781c2f352e03 (diff)
parent9a0eda072a973f50509bc62aa2613fa81a067e42 (diff)
downloadmiasm-f6e1c074f6a17b6a895dcf5352c213a1b6bacb99.tar.gz
miasm-f6e1c074f6a17b6a895dcf5352c213a1b6bacb99.zip
Merge pull request #736 from losynix/get_block_by_offset
add getby_offset in AsmCFG
Diffstat (limited to 'miasm2/core/asmblock.py')
-rw-r--r--miasm2/core/asmblock.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/miasm2/core/asmblock.py b/miasm2/core/asmblock.py
index 07b8ceeb..8740aeb7 100644
--- a/miasm2/core/asmblock.py
+++ b/miasm2/core/asmblock.py
@@ -736,6 +736,14 @@ class AsmCFG(DiGraph):
                     yield predecessor
                     done.add(predecessor)
 
+    def getby_offset(self, offset):
+        """Return block containing @offset"""
+        for block in self:
+            if block.lines[0].offset <= offset < \
+                    (block.lines[-1].offset + block.lines[-1].l):
+                return block
+        return None
+
     def sanity_check(self):
         """Do sanity checks on blocks' constraints:
         * no pendings