From 3c45a945285dff00d0eb8160342560bcb7d24cc5 Mon Sep 17 00:00:00 2001 From: mlugg Date: Tue, 16 Apr 2024 22:38:54 +0100 Subject: Value: fix out-of-bounds slice access writing zero-bit undef value I have no idea why this wasn't being hit on master before. --- src/Value.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/Value.zig') diff --git a/src/Value.zig b/src/Value.zig index 20674ff7d9..2e1a873867 100644 --- a/src/Value.zig +++ b/src/Value.zig @@ -469,7 +469,9 @@ pub fn writeToPackedMemory( const endian = target.cpu.arch.endian(); if (val.isUndef(mod)) { const bit_size: usize = @intCast(ty.bitSize(mod)); - std.mem.writeVarPackedInt(buffer, bit_offset, bit_size, @as(u1, 0), endian); + if (bit_size != 0) { + std.mem.writeVarPackedInt(buffer, bit_offset, bit_size, @as(u1, 0), endian); + } return; } switch (ty.zigTypeTag(mod)) { -- cgit v1.2.3