diff options
| author | Rusty Wagner <rusty@vector35.com> | 2016-09-10 00:36:27 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2016-09-10 00:36:27 -0400 |
| commit | 6d3fe290eb20e31a33e929933c01d2ca3eb43da1 (patch) | |
| tree | 5adc7c8dd595eff99cfcbeb7b689aae19bd46221 /binaryview.cpp | |
| parent | 6be6ee30e5973fa4d5f29cebdeafdf05c3f4251e (diff) | |
Add API for list of basic blocks starting at an address
Diffstat (limited to 'binaryview.cpp')
| -rw-r--r-- | binaryview.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/binaryview.cpp b/binaryview.cpp index 1c03eca5..0a7f23ce 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -987,6 +987,20 @@ vector<Ref<BasicBlock>> BinaryView::GetBasicBlocksForAddress(uint64_t addr) } +vector<Ref<BasicBlock>> BinaryView::GetBasicBlocksStartingAtAddress(uint64_t addr) +{ + size_t count; + BNBasicBlock** blocks = BNGetBasicBlocksStartingAtAddress(m_object, addr, &count); + + vector<Ref<BasicBlock>> result; + for (size_t i = 0; i < count; i++) + result.push_back(new BasicBlock(BNNewBasicBlockReference(blocks[i]))); + + BNFreeBasicBlockList(blocks, count); + return result; +} + + vector<ReferenceSource> BinaryView::GetCodeReferences(uint64_t addr) { size_t count; |
