aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-02-16 00:36:12 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-02-16 00:36:12 -0800
commitacb743923201f436cef725694116a1cb5ec37f5f (patch)
tree8ec4d1e5308d874e2702a1a6952927d758225d28
parent635d553b64202684e617df1acb1c93c5f5f266fb (diff)
downloadbun-acb743923201f436cef725694116a1cb5ec37f5f.tar.gz
bun-acb743923201f436cef725694116a1cb5ec37f5f.tar.zst
bun-acb743923201f436cef725694116a1cb5ec37f5f.zip
Add assert
-rw-r--r--src/memory_allocator.zig15
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(