diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2025-10-23 13:42:52 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2025-10-23 14:42:52 -0400 |
| commit | 0570a89e3a5ce10664d74e335064dd9b61834425 (patch) | |
| tree | 50472d3ab5cf9216f76eed4e7e799aac04513764 /python/types.py | |
| parent | db6d95ea565c75d01192160ce34675a831cb4103 (diff) | |
Fix Type object leaks in the Python type API
Diffstat (limited to 'python/types.py')
| -rw-r--r-- | python/types.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/python/types.py b/python/types.py index fcc99aeb..ef10c01f 100644 --- a/python/types.py +++ b/python/types.py @@ -790,8 +790,6 @@ class TypeBuilder: def finalized(self): type_handle = core.BNFinalizeTypeBuilder(self._handle) assert type_handle is not None, "core.BNFinalizeTypeBuilder returned None" - type_handle = core.BNNewTypeReference(type_handle) - assert type_handle is not None, "core.BNNewTypeReference returned None" return type_handle @property @@ -2586,6 +2584,7 @@ class StructureType(Type): def __del__(self): if core is not None: core.BNFreeStructure(self.struct_handle) + super(StructureType, self).__del__() def __hash__(self): return hash(ctypes.addressof(self.struct_handle.contents)) @@ -2833,6 +2832,7 @@ class EnumerationType(IntegerType): def __del__(self): if core is not None: core.BNFreeEnumeration(self.enum_handle) + super(EnumerationType, self).__del__() def __hash__(self): return hash(ctypes.addressof(self.enum_handle.contents)) @@ -3293,6 +3293,7 @@ class NamedTypeReferenceType(Type): def __del__(self): if core is not None: core.BNFreeNamedTypeReference(self.ntr_handle) + super(NamedTypeReferenceType, self).__del__() def __repr__(self): if self.named_type_class == NamedTypeReferenceClass.TypedefNamedTypeClass: |
