From 315264b4ed6bf2427a9689a33a31bb442e4644dc Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Tue, 8 Apr 2025 15:29:21 -0400 Subject: Add misc cancellation points in RTTI analysis Some missing checks in case there is a billion segments (see .obj files) --- plugins/rtti/microsoft.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'plugins/rtti/microsoft.cpp') diff --git a/plugins/rtti/microsoft.cpp b/plugins/rtti/microsoft.cpp index 95c76311..2eba68d2 100644 --- a/plugins/rtti/microsoft.cpp +++ b/plugins/rtti/microsoft.cpp @@ -733,6 +733,8 @@ void MicrosoftRTTIProcessor::ProcessVFT() auto rdataSection = m_view->GetSectionByName(".rdata"); for (const Ref &segment: m_view->GetSegments()) { + if (bgTask->IsCancelled()) + break; if (segment->GetFlags() == (SegmentReadable | SegmentContainsData)) { m_logger->LogDebug("Attempting to find VirtualFunctionTables in segment %llx", segment->GetStart()); -- cgit v1.3.1