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 --- python/function.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'python') diff --git a/python/function.py b/python/function.py index f290bebd..37bd3396 100644 --- a/python/function.py +++ b/python/function.py @@ -1277,18 +1277,22 @@ class Function: return result @property - def unresolved_indirect_branches(self) -> List[int]: + def unresolved_indirect_branches(self) -> List[Tuple['architecture.Architecture', int]]: """List of unresolved indirect branches (read-only)""" count = ctypes.c_ulonglong() - addrs = core.BNGetUnresolvedIndirectBranches(self.handle, count) - assert addrs is not None, "core.BNGetUnresolvedIndirectBranches returned None" + addresses = core.BNGetUnresolvedIndirectBranches(self.handle, count) try: + assert addresses is not None, "core.BNGetUnresolvedIndirectBranches returned None" result = [] - for i in range(0, count.value): - result.append(addrs[i]) + for i in range(count.value): + result.append(( + architecture.CoreArchitecture._from_cache(addresses[i].arch), + addresses[i].address + )) return result finally: - core.BNFreeAddressList(addrs) + if addresses is not None: + core.BNFreeArchitectureAndAddressList(addresses) @property def has_unresolved_indirect_branches(self) -> bool: -- cgit v1.3.1