diff options
| author | Peter LaFosse <peter@vector35.com> | 2021-08-24 16:27:31 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2021-09-06 11:46:38 -0400 |
| commit | c7e16919257957ec568228ded9ebde7724f3b396 (patch) | |
| tree | 5d03759657e8d60690c6dd92c07f2a0f180547fb /python/architecture.py | |
| parent | aafd0ec4e21bfe8a5cd8ef9d61e65fbf57d86a81 (diff) | |
Fix some type check errors in debuginfo.py
Add try finally blocks for deallocation
Diffstat (limited to 'python/architecture.py')
| -rw-r--r-- | python/architecture.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/python/architecture.py b/python/architecture.py index f77778bc..46f21f88 100644 --- a/python/architecture.py +++ b/python/architecture.py @@ -499,9 +499,11 @@ class Architecture(metaclass=_ArchitectureMetaClass): regs = core.BNGetFullWidthArchitectureRegisters(self.handle, count) assert regs is not None, "core.BNGetFullWidthArchitectureRegisters returned None" result = [] - for i in range(0, count.value): - result.append(core.BNGetArchitectureRegisterName(self.handle, regs[i])) - core.BNFreeRegisterList(regs) + try: + for i in range(0, count.value): + result.append(core.BNGetArchitectureRegisterName(self.handle, regs[i])) + finally: + core.BNFreeRegisterList(regs) return result @property @@ -511,10 +513,12 @@ class Architecture(metaclass=_ArchitectureMetaClass): cc = core.BNGetArchitectureCallingConventions(self.handle, count) assert cc is not None, "core.BNGetArchitectureCallingConventions returned None" result = {} - for i in range(0, count.value): - obj = callingconvention.CallingConvention(handle=core.BNNewCallingConventionReference(cc[i])) - result[obj.name] = obj - core.BNFreeCallingConventionList(cc, count) + try: + for i in range(0, count.value): + obj = callingconvention.CallingConvention(handle=core.BNNewCallingConventionReference(cc[i])) + result[obj.name] = obj + finally: + core.BNFreeCallingConventionList(cc, count) return result @property |
