From 4004c8058e2233f1807c0c7f1a5bd4db4558a134 Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Tue, 22 Apr 2025 00:23:15 -0400 Subject: [PATCH] siphash: fix `std.io.Writer` API non-conformance --- lib/std/crypto/siphash.zig | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/std/crypto/siphash.zig b/lib/std/crypto/siphash.zig index 37c4ac0051..5e89f268ad 100644 --- a/lib/std/crypto/siphash.zig +++ b/lib/std/crypto/siphash.zig @@ -252,10 +252,15 @@ fn SipHash(comptime T: type, comptime c_rounds: usize, comptime d_rounds: usize) fn writeSplat(ctx: ?*anyopaque, data: []const []const u8, splat: usize) anyerror!usize { const self: *Self = @alignCast(@ptrCast(ctx)); var len: usize = 0; - for (0..splat) |_| for (data) |slice| { + for (data[0 .. data.len - 1]) |slice| { self.update(slice); len += slice.len; - }; + } + { + const slice = data[data.len - 1]; + for (0..splat) |_| self.update(slice); + len += slice.len * splat; + } return len; }