From 6ed8f189b2a0607a13c2a2163d82993ca60d2a19 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Thu, 26 Jan 2023 16:37:39 -0500 Subject: Fix Type object leaks --- python/demangle.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'python/demangle.py') diff --git a/python/demangle.py b/python/demangle.py index d570fb78..ce57b601 100644 --- a/python/demangle.py +++ b/python/demangle.py @@ -89,7 +89,9 @@ def demangle_ms(archOrPlatform:Union[Architecture, Platform], mangled_name:str, for i in range(outSize.value): names.append(outName[i].decode('utf8')) # type: ignore core.BNFreeDemangledName(ctypes.byref(outName), outSize.value) - return (types.Type.create(core.BNNewTypeReference(handle)), names) + if not handle: + return (None, names) + return (types.Type.create(handle), names) return (None, mangled_name) @@ -126,7 +128,7 @@ def demangle_gnu3(arch, mangled_name, options=None): core.BNFreeDemangledName(ctypes.byref(outName), outSize.value) if not handle: return (None, names) - return (types.Type.create(core.BNNewTypeReference(handle)), names) + return (types.Type.create(handle), names) return (None, mangled_name) -- cgit v1.3.1