aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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(