summaryrefslogtreecommitdiff
path: root/lowlevelil.cpp
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2019-12-19 16:04:11 -0500
committerRusty Wagner <rusty@vector35.com>2019-12-19 16:04:11 -0500
commit741fb0538e0ac6ab14928f78697196803dbd2ed5 (patch)
treedd0b8da88791b03553d659e6672c8d5ba0fdecfa /lowlevelil.cpp
parent98771ab9f325e310ae07120cf559f601837380f9 (diff)
LLIL_JUMP_TO/MLIL_JUMP_TO now contain mappings from address to destination instruction
Diffstat (limited to 'lowlevelil.cpp')
-rw-r--r--lowlevelil.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/lowlevelil.cpp b/lowlevelil.cpp
index 61450c8f..afaacf08 100644
--- a/lowlevelil.cpp
+++ b/lowlevelil.cpp
@@ -184,12 +184,18 @@ vector<uint64_t> LowLevelILFunction::GetOperandList(ExprId expr, size_t listOper
}
-ExprId LowLevelILFunction::AddLabelList(const vector<BNLowLevelILLabel*>& labels)
+ExprId LowLevelILFunction::AddLabelMap(const map<uint64_t, BNLowLevelILLabel*>& labels)
{
+ uint64_t* valueList = new uint64_t[labels.size()];
BNLowLevelILLabel** labelList = new BNLowLevelILLabel*[labels.size()];
- for (size_t i = 0; i < labels.size(); i++)
- labelList[i] = labels[i];
- ExprId result = (ExprId)BNLowLevelILAddLabelList(m_object, labelList, labels.size());
+ size_t i = 0;
+ for (auto& j : labels)
+ {
+ valueList[i] = j.first;
+ labelList[i] = j.second;
+ i++;
+ }
+ ExprId result = (ExprId)BNLowLevelILAddLabelMap(m_object, valueList, labelList, labels.size());
delete[] labelList;
return result;
}