diff options
Diffstat (limited to 'python/architecture.py')
| -rw-r--r-- | python/architecture.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/python/architecture.py b/python/architecture.py index 0b149057..278b3317 100644 --- a/python/architecture.py +++ b/python/architecture.py @@ -86,9 +86,9 @@ class BasicBlockAnalysisContext: _translate_tail_calls: bool _disallow_branch_to_string: bool _max_function_size: int - _max_size_reached: bool # In/Out + _max_size_reached: bool _contextual_returns: Dict["function.ArchAndAddr", bool] # Out @@ -231,6 +231,17 @@ class BasicBlockAnalysisContext: return self._max_size_reached + @max_size_reached.setter + def max_size_reached(self, value: bool) -> None: + """Set boolean that indicates if the maximum function size has been reached. + + :param bool value: The new value for max_size_reached + """ + if not isinstance(value, bool): + raise TypeError("value must be a boolean") + + self._max_size_reached = value + @property def contextual_returns(self) -> Dict["function.ArchAndAddr", bool]: """Get the mapping of contextual function return locations to their values.""" @@ -387,6 +398,7 @@ class BasicBlockAnalysisContext: halted_addresses[i].address = loc.addr core.BNAnalyzeBasicBlocksContextSetHaltedDisassemblyAddresses(self._handle, halted_addresses, total) + self._handle.maxSizeReached = ctypes.c_bool(self._max_size_reached) if self._contextual_returns_dirty: total = len(self._contextual_returns) values = (ctypes.c_bool * total)() |
