From 765969e6a3c449b4fab8da0b5b672a5a436010c9 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 19 Oct 2022 16:06:36 +0100 Subject: [PATCH] Revert `default_resize_bytes_align` logic to previous behaviour --- core/mem/alloc.odin | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/core/mem/alloc.odin b/core/mem/alloc.odin index b5788c8a8..54004d333 100644 --- a/core/mem/alloc.odin +++ b/core/mem/alloc.odin @@ -243,11 +243,13 @@ default_resize_bytes_align :: proc(old_data: []byte, new_size, alignment: int, a return alloc_bytes(new_size, alignment, allocator, loc) } - if new_size == old_size { - return old_data, nil - } if new_size == 0 { - return nil, free_bytes(old_data, allocator, loc) + err := free_bytes(old_data, allocator, loc) + return nil, err + } + + if new_size == old_size { + return old_data, .None } new_memory, err := alloc_bytes(new_size, alignment, allocator, loc) @@ -256,9 +258,6 @@ default_resize_bytes_align :: proc(old_data: []byte, new_size, alignment: int, a } runtime.copy(new_memory, old_data) - err1 := free_bytes(old_data, allocator, loc) - if err == nil { - err = err1 - } + free_bytes(old_data, allocator, loc) return new_memory, err }