summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrollsafe <rollsafe@users.noreply.github.com>2019-07-22 22:09:14 -0400
committerrollsafe <rollsafe@users.noreply.github.com>2019-07-22 22:11:31 -0400
commit801d92feb44f5bafca08d9a019404a78f12e937a (patch)
tree39d20f36c8e4869995246fb8ce20480cf272c9ec
parentd4fa2fa1d657ced48dd00d64d44dcc2cd621ae01 (diff)
Create API for whether a basic block contains any invalid instructions
-rw-r--r--binaryninjacore.h1
-rw-r--r--python/basicblock.py5
2 files changed, 6 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 23e14106..a15ecd3a 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -2657,6 +2657,7 @@ extern "C"
BINARYNINJACOREAPI void BNFreeBasicBlockEdgeList(BNBasicBlockEdge* edges, size_t count);
BINARYNINJACOREAPI bool BNBasicBlockHasUndeterminedOutgoingEdges(BNBasicBlock* block);
BINARYNINJACOREAPI bool BNBasicBlockCanExit(BNBasicBlock* block);
+ BINARYNINJACOREAPI bool BNBasicBlockHasInvalidInstructions(BNBasicBlock* block);
BINARYNINJACOREAPI size_t BNGetBasicBlockIndex(BNBasicBlock* block);
BINARYNINJACOREAPI BNBasicBlock** BNGetBasicBlockDominators(BNBasicBlock* block, size_t* count, bool post);
BINARYNINJACOREAPI BNBasicBlock** BNGetBasicBlockStrictDominators(BNBasicBlock* block, size_t* count, bool post);
diff --git a/python/basicblock.py b/python/basicblock.py
index 98a7b212..83df8161 100644
--- a/python/basicblock.py
+++ b/python/basicblock.py
@@ -294,6 +294,11 @@ class BasicBlock(object):
return core.BNBasicBlockCanExit(self.handle)
@property
+ def has_invalid_instructions(self):
+ """Whether basic block has any invalid instructions (read-only)"""
+ return core.BNBasicBlockHasInvalidInstructions(self.handle)
+
+ @property
def dominators(self):
"""List of dominators for this basic block (read-only)"""
count = ctypes.c_ulonglong()