From 42886bea7384f0163c43bacc5afa7b9ffe6a589c Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Sat, 17 May 2025 12:57:14 +0200 Subject: [RTTI] Fix crash with zeroed base class descriptor Fixes https://github.com/Vector35/binaryninja-api/issues/6837 --- plugins/rtti/microsoft.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'plugins/rtti/microsoft.cpp') diff --git a/plugins/rtti/microsoft.cpp b/plugins/rtti/microsoft.cpp index b1b549a8..1299170c 100644 --- a/plugins/rtti/microsoft.cpp +++ b/plugins/rtti/microsoft.cpp @@ -359,6 +359,12 @@ std::vector MicrosoftRTTIProcessor::ProcessClassHierarchyDescript auto baseClassDesc = BaseClassDescriptor(m_view, baseClassDescAddr); auto baseClassTypeDescAddr = resolveAddr(baseClassDesc.pTypeDescriptor); + if (baseClassTypeDescAddr == 0) + { + // Fixes issue https://github.com/Vector35/binaryninja-api/issues/6837 + m_logger->LogWarn("Skipping BaseClassDescriptor with null pTypeDescriptor %llx", baseClassDescAddr); + continue; + } auto baseClassTypeDesc = TypeDescriptor(m_view, baseClassTypeDescAddr); auto baseClassName = DemangleNameMS(m_view, allowMangledClassNames, baseClassTypeDesc.name); if (!baseClassName.has_value()) -- cgit v1.3.1