From 5fa260ba065f28632af133d07441d8a611fba15b Mon Sep 17 00:00:00 2001 From: mlugg Date: Tue, 19 Sep 2023 22:44:31 +0100 Subject: [PATCH] InternPool: do not append sentinel value twice when initializing aggregate of u8 --- src/InternPool.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/InternPool.zig b/src/InternPool.zig index 79d4127787..368ef51826 100644 --- a/src/InternPool.zig +++ b/src/InternPool.zig @@ -5075,8 +5075,8 @@ pub fn get(ip: *InternPool, gpa: Allocator, key: Key) Allocator.Error!Index { try ip.string_bytes.ensureUnusedCapacity(gpa, @as(usize, @intCast(len_including_sentinel + 1))); try ip.extra.ensureUnusedCapacity(gpa, @typeInfo(Bytes).Struct.fields.len); switch (aggregate.storage) { - .bytes => |bytes| ip.string_bytes.appendSliceAssumeCapacity(bytes), - .elems => |elems| for (elems) |elem| switch (ip.indexToKey(elem)) { + .bytes => |bytes| ip.string_bytes.appendSliceAssumeCapacity(bytes[0..@intCast(len)]), + .elems => |elems| for (elems[0..@intCast(len)]) |elem| switch (ip.indexToKey(elem)) { .undef => { ip.string_bytes.shrinkRetainingCapacity(string_bytes_index); break :bytes;