diff options
| author | Ryan Snyder <ryan@vector35.com> | 2025-07-03 01:48:11 -0400 |
|---|---|---|
| committer | Ryan Snyder <ryan@vector35.com> | 2025-07-03 04:30:58 -0400 |
| commit | e96a7a078a9909fc1212861c9669e6af0b034e46 (patch) | |
| tree | 412f072f118f7f784e8500f8bb46dfad0354bc82 /python | |
| parent | 3bfeb0e19d97c71022bb5c50c2a21e129f675e1b (diff) | |
api: indirect branch inlining support
Diffstat (limited to 'python')
| -rw-r--r-- | python/function.py | 16 |
1 files changed, 10 insertions, 6 deletions
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: |
