authorgravatar for mpoliwczak34@gmail.comMateusz Poliwczak <mpoliwczak34@gmail.com> 2025-11-04 19:58:09+01:00
committergravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2025-11-05 19:31:19-08:00
log416bf1de47154ba781082163f8a3509fa3916482
treecd63d98f1dc6cf2c0ecccd53ba66c02e49cc36b7
parent26db54d69b9a7f58a45897bb9523f95e3b8dd054

std.ArrayList: memset to undefined in shrinkRetainingCapacity and clearRetainingCapacity

Fixes #25796

1 files changed, 3 insertions(+), 0 deletions(-)

lib/std/array_list.zig+3
...@@ -381,11 +381,14 @@ pub fn AlignedManaged(comptime T: type, comptime alignment: ?mem.Alignment) type...@@ -381,11 +381,14 @@ pub fn AlignedManaged(comptime T: type, comptime alignment: ?mem.Alignment) type
381 pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void {381 pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void {
382 assert(new_len <= self.items.len);382 assert(new_len <= self.items.len);
383 self.items.len = new_len;383 self.items.len = new_len;
384 @memset(self.items[new_len..], undefined);
384 }385 }
385386
387 /// Reduce length to 0.
386 /// Invalidates all element pointers.388 /// Invalidates all element pointers.
387 pub fn clearRetainingCapacity(self: *Self) void {389 pub fn clearRetainingCapacity(self: *Self) void {
388 self.items.len = 0;390 self.items.len = 0;
391 @memset(self.items, undefined);
389 }392 }
390393
391 /// Invalidates all element pointers.394 /// Invalidates all element pointers.