From 3e63b6e83ad95663e478a63f39b271d308db6f89 Mon Sep 17 00:00:00 2001 From: Brandon Miller Date: Tue, 21 Oct 2025 16:03:13 -0400 Subject: Add setter for BB analysis context max_size_reached Add setter for Python and rust BasicBlockAnalysisContext.max_size_reached --- python/architecture.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'python') 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)() -- cgit v1.3.1