aboutsummaryrefslogtreecommitdiff
path: root/lib/std/crypto/modes.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/crypto/modes.zig')
-rw-r--r--lib/std/crypto/modes.zig6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/std/crypto/modes.zig b/lib/std/crypto/modes.zig
index 325d8c0ceb..eed803a899 100644
--- a/lib/std/crypto/modes.zig
+++ b/lib/std/crypto/modes.zig
@@ -38,8 +38,10 @@ pub fn ctr(comptime BlockCipher: anytype, block_cipher: BlockCipher, dst: []u8,
if (i < src.len) {
mem.writeInt(u128, &counter, counterInt, endian);
var pad = [_]u8{0} ** block_length;
- mem.copy(u8, &pad, src[i..]);
+ const src_slice = src[i..];
+ @memcpy(pad[0..src_slice.len], src_slice);
block_cipher.xor(&pad, &pad, counter);
- mem.copy(u8, dst[i..], pad[0 .. src.len - i]);
+ const pad_slice = pad[0 .. src.len - i];
+ @memcpy(dst[i..][0..pad_slice.len], pad_slice);
}
}