summaryrefslogtreecommitdiff
path: root/basicblock.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'basicblock.cpp')
-rw-r--r--basicblock.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/basicblock.cpp b/basicblock.cpp
index 6f308307..a1becd10 100644
--- a/basicblock.cpp
+++ b/basicblock.cpp
@@ -45,14 +45,20 @@ uint64_t BasicBlock::GetLength() const
}
-vector<BNBasicBlockEdge> BasicBlock::GetOutgoingEdges() const
+vector<BasicBlockEdge> BasicBlock::GetOutgoingEdges() const
{
size_t count;
BNBasicBlockEdge* array = BNGetBasicBlockOutgoingEdges(m_block, &count);
- vector<BNBasicBlockEdge> result;
+ vector<BasicBlockEdge> result;
for (size_t i = 0; i < count; i++)
- result.push_back(array[i]);
+ {
+ BasicBlockEdge edge;
+ edge.type = array[i].type;
+ edge.target = array[i].target;
+ edge.arch = array[i].arch ? new CoreArchitecture(array[i].arch) : nullptr;
+ result.push_back(edge);
+ }
BNFreeBasicBlockOutgoingEdgeList(array);
return result;