From 368407b09eba7c5d09689ac81eaadd1645820edd Mon Sep 17 00:00:00 2001 From: Alexander Khosrowshahi Date: Mon, 2 Jun 2025 17:35:28 -0400 Subject: Fix calls to BNFreeString in kernel cache API Amends calls to BNFreeString in kernel cache API that were causing `get_macho_header_for_address`, `get_macho_header_for_image`, `get_image_name_for_address`, and `get_name_for_address` to fail. Fixes https://github.com/Vector35/binaryninja-api/issues/6855 --- view/kernelcache/core/KernelCache.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'view/kernelcache/core/KernelCache.cpp') diff --git a/view/kernelcache/core/KernelCache.cpp b/view/kernelcache/core/KernelCache.cpp index be6a4eb6..6cb3fca6 100644 --- a/view/kernelcache/core/KernelCache.cpp +++ b/view/kernelcache/core/KernelCache.cpp @@ -2145,11 +2145,9 @@ extern "C" cache->object->ReleaseAPIRef(); } - bool BNKCViewLoadImageWithInstallName(BNKernelCache* cache, char* name) + bool BNKCViewLoadImageWithInstallName(BNKernelCache* cache, const char* name) { std::string imageName = std::string(name); - // FIXME !!!!!!!! BNFreeString(name); - if (cache->object) return cache->object->LoadImageWithInstallName(imageName); @@ -2321,10 +2319,9 @@ extern "C" return nullptr; } - char* BNKCViewGetImageHeaderForName(BNKernelCache* cache, char* name) + char* BNKCViewGetImageHeaderForName(BNKernelCache* cache, const char* name) { std::string imageName = std::string(name); - BNFreeString(name); if (cache->object) { auto header = cache->object->SerializedImageHeaderForName(imageName); -- cgit v1.3.1