diff options
Diffstat (limited to 'plugins/rtti')
| -rw-r--r-- | plugins/rtti/itanium.cpp | 2 | ||||
| -rw-r--r-- | plugins/rtti/microsoft.cpp | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/plugins/rtti/itanium.cpp b/plugins/rtti/itanium.cpp index 122869cc..fde0e7f8 100644 --- a/plugins/rtti/itanium.cpp +++ b/plugins/rtti/itanium.cpp @@ -685,6 +685,8 @@ void ItaniumRTTIProcessor::ProcessRTTI() // Scan data sections for rtti. for (const Ref<Section> §ion: m_view->GetSections()) { + if (bgTask->IsCancelled()) + break; if (section->GetSemantics() == ReadOnlyDataSectionSemantics) { m_logger->LogDebug("Attempting to find RTTI in section %llx", section->GetStart()); 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> &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()); |
