diff options
author | 2022-02-16 00:36:12 -0800 | |
---|---|---|
committer | 2022-02-16 00:36:12 -0800 | |
commit | acb743923201f436cef725694116a1cb5ec37f5f (patch) | |
tree | 8ec4d1e5308d874e2702a1a6952927d758225d28 | |
parent | 635d553b64202684e617df1acb1c93c5f5f266fb (diff) | |
download | bun-acb743923201f436cef725694116a1cb5ec37f5f.tar.gz bun-acb743923201f436cef725694116a1cb5ec37f5f.tar.zst bun-acb743923201f436cef725694116a1cb5ec37f5f.zip |
Add assert
-rw-r--r-- | src/memory_allocator.zig | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/memory_allocator.zig b/src/memory_allocator.zig index 167dd4fc7..c7e42ae87 100644 --- a/src/memory_allocator.zig +++ b/src/memory_allocator.zig @@ -97,11 +97,22 @@ const CAllocator = struct { assert(len > 0); assert(std.math.isPowerOfTwo(alignment)); - var ptr = alignedAlloc(len, alignment) orelse return error.OutOfMemory; + var ptr = alignedAlloc( + len, + alignment, + ) orelse return error.OutOfMemory; if (len_align == 0) { return ptr[0..len]; } - return ptr[0..mem.alignBackwardAnyAlign(mimalloc.mi_usable_size(ptr), len_align)]; + + if (comptime Environment.allow_assert) { + const size = mem.alignBackwardAnyAlign(mimalloc.mi_usable_size(ptr), len_align); + + assert(size >= len); + return ptr[0..size]; + } else { + return ptr[0..mem.alignBackwardAnyAlign(mimalloc.mi_usable_size(ptr), len_align)]; + } } fn resize( |