From 5edc5e4b198eeaac98c1fb3b4a1a7849d357d06d Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Tue, 28 Oct 2025 14:52:13 -0400 Subject: Fix crash Python bindings for Transform API. --- python/transform.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'python/transform.py') diff --git a/python/transform.py b/python/transform.py index 3168982d..8e20d04c 100644 --- a/python/transform.py +++ b/python/transform.py @@ -37,11 +37,14 @@ class _TransformMetaClass(type): count = ctypes.c_ulonglong() xforms = core.BNGetTransformTypeList(count) assert xforms is not None, "core.BNGetTransformTypeList returned None" - try: - for i in range(0, count.value): - yield Transform(xforms[i]) - finally: - core.BNFreeTransformTypeList(xforms) + result = [] + for i in range(0, count.value): + ptr_addr = ctypes.cast(xforms[i], ctypes.c_void_p).value + handle = ctypes.cast(ptr_addr, type(xforms[i])) + result.append(Transform(handle)) + core.BNFreeTransformTypeList(xforms) + for xform in result: + yield xform def __getitem__(cls, name): binaryninja._init_plugins() -- cgit v1.3.1