authorgravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2023-06-12 22:00:56+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-06-12 14:22:09-07:00
log9e61ba19e9cda344aa2094e9a671d98076164163
tree0327e765ec41aa67ad35cfd67e6addaa591306a0
parent028f2ed30f3318fbe1d2274962d7cda111c695b6

std.crypto.tls.Client: fix @memcpy crash in limitedOverlapCopy

Resolves: #15928

1 files changed, 2 insertions(+), 4 deletions(-)

lib/std/crypto/tls/Client.zig+2-4
......@@ -1256,10 +1256,8 @@ fn limitedOverlapCopy(frag: []u8, in: usize) void {
12561256 // A single, non-overlapping memcpy suffices.
12571257 @memcpy(frag[0..first.len], first);
12581258 } else {
1259 // Need two memcpy calls because one alone would overlap.
1260 @memcpy(frag[0..in], first[0..in]);
1261 const leftover = first.len - in;
1262 @memcpy(frag[in..][0..leftover], first[in..][0..leftover]);
1259 // One memcpy call would overlap, so just do this instead.
1260 std.mem.copyForwards(u8, frag, first);
12631261 }
12641262}
12651263