summaryrefslogtreecommitdiff
path: root/view/sharedcache/workflow/SharedCacheWorkflow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'view/sharedcache/workflow/SharedCacheWorkflow.cpp')
-rw-r--r--view/sharedcache/workflow/SharedCacheWorkflow.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/view/sharedcache/workflow/SharedCacheWorkflow.cpp b/view/sharedcache/workflow/SharedCacheWorkflow.cpp
index 7f63866a..dcccfe74 100644
--- a/view/sharedcache/workflow/SharedCacheWorkflow.cpp
+++ b/view/sharedcache/workflow/SharedCacheWorkflow.cpp
@@ -126,7 +126,9 @@ void AnalyzeStubFunction(Ref<Function> func, Ref<MediumLevelILFunction> mlil, Sh
if (region->type == SharedCacheRegionTypeImage)
return false;
// Adjust the new region semantics to read only, this helps analysis pickup constant loads in our stub functions.
- region->flags = static_cast<BNSegmentFlag>(SegmentReadable | SegmentContainsData);
+ // NOTE: We do NOT do this for stub island as that contains CODE!
+ if (region->type != SharedCacheRegionTypeStubIsland)
+ region->flags = static_cast<BNSegmentFlag>(SegmentReadable | SegmentContainsData);
return controller.ApplyRegion(*view, *region);
};