Browse Source

Fix `resize` zeroing behaviour

gingerBill 1 year ago
parent
commit
45d7dd8f27
1 changed files with 3 additions and 0 deletions
  1. 3 0
      base/runtime/core_builtin.odin

+ 3 - 0
base/runtime/core_builtin.odin

@@ -740,6 +740,9 @@ _resize_dynamic_array :: #force_inline proc(array: ^$T/[dynamic]$E, length: int,
 	a := (^Raw_Dynamic_Array)(array)
 
 	if length <= a.cap {
+		if should_zero && a.len < length {
+			intrinsics.mem_zero(([^]T)(a.data)[a.len:], (length-a.len)*size_of(T))
+		}
 		a.len = max(length, 0)
 		return nil
 	}