diff options
Diffstat (limited to 'view/sharedcache/workflow/SharedCacheWorkflow.cpp')
| -rw-r--r-- | view/sharedcache/workflow/SharedCacheWorkflow.cpp | 4 |
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); }; |
