From fd8eb478a7a3bbc848da37bd33e62c2d8cf26b99 Mon Sep 17 00:00:00 2001 From: kat Date: Tue, 29 Oct 2024 09:47:29 -0400 Subject: [SharedCache] Fix a crash whenever user uses DSC apis on non-dsc. --- view/sharedcache/core/SharedCache.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'view/sharedcache/core/SharedCache.cpp') diff --git a/view/sharedcache/core/SharedCache.cpp b/view/sharedcache/core/SharedCache.cpp index a597cfb5..49aa3174 100644 --- a/view/sharedcache/core/SharedCache.cpp +++ b/view/sharedcache/core/SharedCache.cpp @@ -1333,6 +1333,12 @@ void SharedCache::ParseAndApplySlideInfoForFile(std::shared_ptr dscView) : m_dscView(dscView) { + if (dscView->GetTypeName() != VIEW_NAME) + { + // Unreachable? + m_logger->LogError("Attempted to create SharedCache object from non-Shared Cache view"); + return; + } sharedCacheReferences++; INIT_SHAREDCACHE_API_OBJECT() m_logger = LogRegistry::GetLogger("SharedCache", dscView->GetFile()->GetSessionId()); @@ -1381,6 +1387,8 @@ SharedCache::~SharedCache() { SharedCache* SharedCache::GetFromDSCView(BinaryNinja::Ref dscView) { + if (dscView->GetTypeName() != VIEW_NAME) + return nullptr; try { return new SharedCache(dscView); } -- cgit v1.3.1