summaryrefslogtreecommitdiff
path: root/plugins/rtti/itanium.cpp
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-04-08 15:29:21 -0400
committerMason Reed <mason@vector35.com>2025-04-08 16:44:59 -0400
commit315264b4ed6bf2427a9689a33a31bb442e4644dc (patch)
treef12fc0e6b456a660b1ac2c1097a343cd45e89b09 /plugins/rtti/itanium.cpp
parente301d99a8df8ed185ffe71dabe915ab55d6fb885 (diff)
Add misc cancellation points in RTTI analysis
Some missing checks in case there is a billion segments (see .obj files)
Diffstat (limited to 'plugins/rtti/itanium.cpp')
-rw-r--r--plugins/rtti/itanium.cpp2
1 files changed, 2 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> &section: m_view->GetSections())
{
+ if (bgTask->IsCancelled())
+ break;
if (section->GetSemantics() == ReadOnlyDataSectionSemantics)
{
m_logger->LogDebug("Attempting to find RTTI in section %llx", section->GetStart());