diff --git a/lib/std/heap.zig b/lib/std/heap.zig index 20f2b94766d4f88c01c7f30ca1abbb400f199127..d7334c3a5496a7cc7a5b9c4aaadbb3427a9dc7d5 100644 --- a/lib/std/heap.zig +++ b/lib/std/heap.zig @@ -334,12 +334,10 @@ const WasmPageAllocator = struct { return error.OutOfMemory; } - if (old_mem.len == 0) { - return alloc(allocator, new_size, new_align); - } else if (new_size < old_mem.len) { - return shrink(allocator, old_mem, old_align, new_size, new_align); - } else if (nPages(new_size) == nPages(old_mem.len)) { + if (nPages(new_size) == nPages(old_mem.len)) { return old_mem.ptr[0..new_size]; + } else if (new_size < old_mem.len) { + return shrink(allocator, old_mem, old_align, new_size, new_align); } else { const new_mem = try alloc(allocator, new_size, new_align); std.mem.copy(u8, new_mem, old_mem);