diff options
| author | Mason Reed <mason@vector35.com> | 2025-05-17 12:57:14 +0200 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-05-17 12:57:14 +0200 |
| commit | 42886bea7384f0163c43bacc5afa7b9ffe6a589c (patch) | |
| tree | 2fa87e1808821d73d7f00a2ea3f234c5039bfbd8 /plugins/rtti | |
| parent | c2f94700a0cc535860934fae01d7ecb81956bcec (diff) | |
[RTTI] Fix crash with zeroed base class descriptor
Fixes https://github.com/Vector35/binaryninja-api/issues/6837
Diffstat (limited to 'plugins/rtti')
| -rw-r--r-- | plugins/rtti/microsoft.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
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<BaseClassInfo> 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()) |
