summaryrefslogtreecommitdiff
path: root/python/firmwareninja.py
diff options
context:
space:
mode:
authorBrandon Miller <brandon@vector35.com>2025-07-21 14:43:14 -0400
committerPeter LaFosse <peter@vector35.com>2025-07-22 09:20:59 -0400
commit9416e3dd8ea4dab4ab50e215e11f2cd7a4264948 (patch)
tree6c74f324af7d637d4e97681768c74dd5afdebd45 /python/firmwareninja.py
parent0cb69def773d6669aa27de55bbfbff3c73dde396 (diff)
Fix memory leak when querying FWN relationships
Diffstat (limited to 'python/firmwareninja.py')
-rw-r--r--python/firmwareninja.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/python/firmwareninja.py b/python/firmwareninja.py
index a48c8be1..c44aaf0a 100644
--- a/python/firmwareninja.py
+++ b/python/firmwareninja.py
@@ -829,11 +829,16 @@ class FirmwareNinja:
"""
count = ctypes.c_ulonglong(0)
- relationships = core.BNFirmwareNinjaQueryRelationships(self._handle, count)
+ relationships = core.BNFirmwareNinjaQueryRelationships(self._handle, ctypes.byref(count))
relationship_list = []
for i in range(count.value):
- relationship_list.append(FirmwareNinjaRelationship(self._view, handle=relationships[i]))
+ relationship_list.append(
+ FirmwareNinjaRelationship(
+ self._view, handle=core.BNNewFirmwareNinjaRelationshipReference(relationships[i])
+ )
+ )
+ core.BNFirmwareNinjaFreeRelationships(relationships, count.value)
return relationship_list
def add_relationship(self, relationship: FirmwareNinjaRelationship) -> None: