From 1ae40146e68720047190f3c5cbd693669bbb1d87 Mon Sep 17 00:00:00 2001 From: Mantas Jonytis Date: Sat, 1 Aug 2020 15:31:46 +0300 Subject: [PATCH] blake2b: off-by-one on update --- lib/std/crypto/blake2.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/std/crypto/blake2.zig b/lib/std/crypto/blake2.zig index 2b7769c3f7..444dd601e3 100644 --- a/lib/std/crypto/blake2.zig +++ b/lib/std/crypto/blake2.zig @@ -382,7 +382,7 @@ fn Blake2b(comptime out_len: usize) type { var off: usize = 0; // Partial buffer exists from previous update. Copy into buffer then hash. - if (d.buf_len != 0 and d.buf_len + b.len >= 128) { + if (d.buf_len != 0 and d.buf_len + b.len > 128) { off += 128 - d.buf_len; mem.copy(u8, d.buf[d.buf_len..], b[0..off]); d.t += 128; @@ -391,7 +391,7 @@ fn Blake2b(comptime out_len: usize) type { } // Full middle blocks. - while (off + 128 <= b.len) : (off += 128) { + while (off + 128 < b.len) : (off += 128) { d.t += 128; d.round(b[off .. off + 128], false); }