summaryrefslogtreecommitdiff
path: root/python/types.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/types.py')
-rw-r--r--python/types.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/python/types.py b/python/types.py
index 62cc0154..2d29ac2d 100644
--- a/python/types.py
+++ b/python/types.py
@@ -2242,11 +2242,13 @@ class EnumerationType(IntegerType):
count = ctypes.c_ulonglong()
members = core.BNGetEnumerationMembers(self.enum_handle, count)
assert members is not None, "core.BNGetEnumerationMembers returned None"
- result = []
- for i in range(0, count.value):
- result.append(EnumerationMember(members[i].name, members[i].value if not members[i].isDefault else None))
- core.BNFreeEnumerationMemberList(members, count.value)
- return result
+ try:
+ result = []
+ for i in range(0, count.value):
+ result.append(EnumerationMember(members[i].name, members[i].value if not members[i].isDefault else None))
+ return result
+ finally:
+ core.BNFreeEnumerationMemberList(members, count.value)
@classmethod
def create(