[JITLink] Assert that segment mapping does not exceed allocation size.
authorLang Hames <lhames@gmail.com>
Mon, 8 Mar 2021 04:55:13 +0000 (20:55 -0800)
committerLang Hames <lhames@gmail.com>
Wed, 10 Mar 2021 04:40:24 +0000 (20:40 -0800)
llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp

index 63a9b7b..36067cc 100644 (file)
@@ -113,6 +113,8 @@ InProcessMemoryManager::allocate(const JITLinkDylib *JD,
 
     uint64_t SegmentSize = alignTo(Seg.getContentSize() + Seg.getZeroFillSize(),
                                    sys::Process::getPageSizeEstimate());
+    assert(SlabRemaining.allocatedSize() >= SegmentSize &&
+           "Mapping exceeds allocation");
 
     sys::MemoryBlock SegMem(SlabRemaining.base(), SegmentSize);
     SlabRemaining = sys::MemoryBlock((char *)SlabRemaining.base() + SegmentSize,