diff options
Diffstat (limited to 'python/types.py')
| -rw-r--r-- | python/types.py | 12 |
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( |
