summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJordan Wiens <jordan@psifertex.com>2023-11-30 02:11:05 -0500
committerXusheng <xusheng@vector35.com>2023-11-30 17:14:14 +0800
commitbf358baafdee8b4a2b689bd8be65fd5a7280c0d9 (patch)
treee7a20fa14b7e85525dd6b8fd6487ff6c3b712755 /python
parenta3ee4ce8fcc9cc511c233923913809967f4a9e71 (diff)
skip functions exceeding analysis limits in hlil/mlil_function helpers instead of causing an exception
Diffstat (limited to 'python')
-rw-r--r--python/binaryview.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/python/binaryview.py b/python/binaryview.py
index 77a1d1e4..9a26bf1d 100644
--- a/python/binaryview.py
+++ b/python/binaryview.py
@@ -45,7 +45,7 @@ from .enums import (
TypeClass, BinaryViewEventType, FunctionGraphType, TagReferenceType, TagTypeType, RegisterValueType, LogLevel,
DisassemblyOption
)
-from .exceptions import RelocationWriteException
+from .exceptions import RelocationWriteException, ILException
from . import associateddatastore # required for _BinaryViewAssociatedDataStore
from .log import log_warn, log_error, Logger
@@ -2596,7 +2596,10 @@ class BinaryView:
for func in AdvancedILFunctionList(
self, self.preload_limit if preload_limit is None else preload_limit, function_generator
):
- mlil = func.mlil
+ try:
+ mlil = func.mlil
+ except ILException:
+ mlil = None
if mlil:
yield mlil
@@ -2611,7 +2614,10 @@ class BinaryView:
for func in AdvancedILFunctionList(
self, self.preload_limit if preload_limit is None else preload_limit, function_generator
):
- hlil = func.hlil
+ try:
+ hlil = func.hlil
+ except ILException:
+ hlil = None
if hlil:
yield hlil