From c7e16919257957ec568228ded9ebde7724f3b396 Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Tue, 24 Aug 2021 16:27:31 -0400 Subject: Fix some type check errors in debuginfo.py Add try finally blocks for deallocation --- python/architecture.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'python/architecture.py') 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 -- cgit v1.3.1