diff options
| author | Rusty Wagner <rusty@vector35.com> | 2019-12-19 16:04:11 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2019-12-19 16:04:11 -0500 |
| commit | 741fb0538e0ac6ab14928f78697196803dbd2ed5 (patch) | |
| tree | dd0b8da88791b03553d659e6672c8d5ba0fdecfa /mediumlevelil.cpp | |
| parent | 98771ab9f325e310ae07120cf559f601837380f9 (diff) | |
LLIL_JUMP_TO/MLIL_JUMP_TO now contain mappings from address to destination instruction
Diffstat (limited to 'mediumlevelil.cpp')
| -rw-r--r-- | mediumlevelil.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/mediumlevelil.cpp b/mediumlevelil.cpp index 3c2f623a..6ce556f4 100644 --- a/mediumlevelil.cpp +++ b/mediumlevelil.cpp @@ -165,12 +165,19 @@ vector<uint64_t> MediumLevelILFunction::GetOperandList(ExprId expr, size_t listO } -ExprId MediumLevelILFunction::AddLabelList(const vector<BNMediumLevelILLabel*>& labels) +ExprId MediumLevelILFunction::AddLabelMap(const map<uint64_t, BNMediumLevelILLabel*>& labels) { + uint64_t* valueList = new uint64_t[labels.size()]; BNMediumLevelILLabel** labelList = new BNMediumLevelILLabel*[labels.size()]; - for (size_t i = 0; i < labels.size(); i++) - labelList[i] = labels[i]; - ExprId result = (ExprId)BNMediumLevelILAddLabelList(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)BNMediumLevelILAddLabelMap(m_object, valueList, labelList, labels.size()); + delete[] valueList; delete[] labelList; return result; } |
