Skip to content

Commit 6a81ae9

Browse files
committed
Add python Platform address_size property
1 parent 7b5b319 commit 6a81ae9

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

python/platform.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def __init__(self, arch: Optional['architecture.Architecture'] = None, handle=No
8585
self._cb.getGlobalRegisters = self._cb.getGlobalRegisters.__class__(self._get_global_regs)
8686
self._cb.freeRegisterList = self._cb.freeRegisterList.__class__(self._free_register_list)
8787
self._cb.getGlobalRegisterType = self._cb.getGlobalRegisterType.__class__(self._get_global_reg_type)
88-
self._cb.getAddressSize = self._cb.getAddressSize.__class__(lambda ctxt: self._get_address_size)
88+
self._cb.getAddressSize = self._cb.getAddressSize.__class__(self._get_address_size)
8989
self._cb.adjustTypeParserInput = self._cb.adjustTypeParserInput.__class__(self._adjust_type_parser_input)
9090
self._cb.freeTypeParserInput = self._cb.freeTypeParserInput.__class__(self._free_type_parser_input)
9191
self._pending_reg_lists = {}
@@ -122,6 +122,7 @@ def __init__(self, arch: Optional['architecture.Architecture'] = None, handle=No
122122
self.handle: ctypes.POINTER(core.BNPlatform) = _handle
123123
self._arch = _arch
124124
self._name = None
125+
self._address_size = core.BNGetPlatformAddressSize(_handle)
125126

126127
def _init(self, ctxt):
127128
pass
@@ -171,10 +172,9 @@ def _get_global_reg_type(self, ctxt, reg):
171172

172173
def _get_address_size(self, ctxt):
173174
try:
174-
return core.BNGetPlatformAddressSize(self.handle)
175+
return self.address_size
175176
except:
176-
log_error(traceback.format_exc())
177-
return None
177+
return self.arch.address_size
178178

179179
def _adjust_type_parser_input(
180180
self,
@@ -308,6 +308,10 @@ def name(self) -> str:
308308
self._name = core.BNGetPlatformName(self.handle)
309309
return self._name
310310

311+
@property
312+
def address_size(self) -> int:
313+
return self._address_size
314+
311315
@classmethod
312316
@property
313317
def os_list(cls) -> List[str]:

0 commit comments

Comments
 (0)