From e1b164fa2bd10d5662c65ed930416d2f911c12e1 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Tue, 1 Apr 2025 01:03:56 -0400 Subject: [SharedCache] Fix some bugs --- view/sharedcache/core/SharedCache.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'view/sharedcache/core/SharedCache.cpp') diff --git a/view/sharedcache/core/SharedCache.cpp b/view/sharedcache/core/SharedCache.cpp index 56d2040d..d0c3d25b 100644 --- a/view/sharedcache/core/SharedCache.cpp +++ b/view/sharedcache/core/SharedCache.cpp @@ -11,11 +11,12 @@ using namespace BinaryNinja; // The next id to use when calling Cache::AddEntry static CacheEntryId nextId = 1; -Ref CacheSymbol::ToBNSymbol() const +Ref CacheSymbol::ToBNSymbol(BinaryView& view) const { QualifiedName qname; + Ref outType; std::string shortName = name; - if (DemangleLLVM(name, qname, true)) + if (DemangleGeneric(view.GetDefaultArchitecture(), name, outType, qname, &view, true)) shortName = qname.GetString(); return new Symbol(type, shortName, shortName, name, address, nullptr); } @@ -458,7 +459,7 @@ std::optional SharedCache::GetImageContaining(const uint64_t address { // TODO: What if we are using this on a shared region? Return a list of images? auto region = GetRegionContaining(address); - if (region.has_value()) + if (region.has_value() && region->imageStart.has_value()) return GetImageAt(*region->imageStart); return std::nullopt; } -- cgit v1.3.1