From e96a7a078a9909fc1212861c9669e6af0b034e46 Mon Sep 17 00:00:00 2001 From: Ryan Snyder Date: Thu, 3 Jul 2025 01:48:11 -0400 Subject: api: indirect branch inlining support --- function.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'function.cpp') diff --git a/function.cpp b/function.cpp index 9e7f4986..367dbe80 100644 --- a/function.cpp +++ b/function.cpp @@ -1852,13 +1852,15 @@ Ref Function::GetCalleeForAnalysis(Ref platform, uint64_t ad } -vector Function::GetUnresolvedIndirectBranches() +vector Function::GetUnresolvedIndirectBranches() { size_t count; - uint64_t* addrs = BNGetUnresolvedIndirectBranches(m_object, &count); - vector result; - result.insert(result.end(), addrs, &addrs[count]); - BNFreeAddressList(addrs); + BNArchitectureAndAddress* addresses = BNGetUnresolvedIndirectBranches(m_object, &count); + vector result; + result.reserve(count); + for (size_t i = 0; i < count; i++) + result.push_back({new CoreArchitecture(addresses[i].arch), addresses[i].address}); + BNFreeArchitectureAndAddressList(addresses); return result; } -- cgit v1.3.1