summaryrefslogtreecommitdiff
path: root/view/kernelcache
diff options
context:
space:
mode:
authorMark Rowe <mark@vector35.com>2025-09-05 19:25:16 -0700
committerMark Rowe <mark@vector35.com>2025-09-05 21:41:21 -0700
commitcf2285ca6c1577a4db2729d6efc213b9ed5f2030 (patch)
tree1e2010c2e64ac53cf4b096167abef8cd78990dc0 /view/kernelcache
parenta1a26dbbc141d2f281d1be3fe630dcc14858c826 (diff)
[KernelCache] Pass the correct flags when adding an image's segments
Fixes https://github.com/Vector35/binaryninja-api/issues/7354.
Diffstat (limited to 'view/kernelcache')
-rw-r--r--view/kernelcache/core/KernelCacheController.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/view/kernelcache/core/KernelCacheController.cpp b/view/kernelcache/core/KernelCacheController.cpp
index 015f4217..40d4a1df 100644
--- a/view/kernelcache/core/KernelCacheController.cpp
+++ b/view/kernelcache/core/KernelCacheController.cpp
@@ -124,7 +124,8 @@ bool KernelCacheController::ApplyImage(BinaryView& view, const CacheImage& image
loadedRegion = true;
for (const auto& segment : image.header->segments)
{
- view.AddAutoSegment(segment.vmaddr, segment.vmsize, segment.fileoff, segment.filesize, segment.flags);
+ auto flags = SegmentFlagsFromMachOProtections(segment.initprot, segment.maxprot);
+ view.AddAutoSegment(segment.vmaddr, segment.vmsize, segment.fileoff, segment.filesize, flags);
auto relocations = m_cache.GetRelocations();