From 741fb0538e0ac6ab14928f78697196803dbd2ed5 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Thu, 19 Dec 2019 16:04:11 -0500 Subject: LLIL_JUMP_TO/MLIL_JUMP_TO now contain mappings from address to destination instruction --- mediumlevelil.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'mediumlevelil.cpp') diff --git a/mediumlevelil.cpp b/mediumlevelil.cpp index 3c2f623a..6ce556f4 100644 --- a/mediumlevelil.cpp +++ b/mediumlevelil.cpp @@ -165,12 +165,19 @@ vector MediumLevelILFunction::GetOperandList(ExprId expr, size_t listO } -ExprId MediumLevelILFunction::AddLabelList(const vector& labels) +ExprId MediumLevelILFunction::AddLabelMap(const map& 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; } -- cgit v1.3.1