zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 22f5e5fd3e7f4cf15c38c2b3be0b0e357854026a (tree)
parent b864fe7e23e5c222e82cc6ccb840eb5e8e1bf15b
Author: tgschultz <tgschultz@gmail.com>
Date:   Sat, 20 Apr 2019 17:24:40 +0000

Fixes DirectAllocator Windows implementation to call HeapFree when new_size == 0

Diffstat:
Mstd/heap.zig | 7+++++++
1 file changed, 7 insertions(+), 0 deletions(-)

diff --git a/std/heap.zig b/std/heap.zig @@ -151,6 +151,13 @@ pub const DirectAllocator = struct { const old_record_addr = old_adjusted_addr + old_mem.len; const root_addr = @intToPtr(*align(1) usize, old_record_addr).*; const old_ptr = @intToPtr(*c_void, root_addr); + + if(new_size == 0) + { + if(os.windows.HeapFree(self.heap_handle.?, 0, old_ptr) == 0) unreachable; + return old_mem[0..0]; + } + const amt = new_size + new_align + @sizeOf(usize); const new_ptr = os.windows.HeapReAlloc( self.heap_handle.?,