mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-27 19:09:47 +03:00
Revert "Merge pull request #18410 from dweiller/by-length-slice-bug"
This reverts commitd9d840a33a, reversing changes made toa04d433094. This is not an adequate implementation of the missing safety check, as evidenced by the changes to std.json that are reverted in this commit. Reopens #18382 Closes #18510
This commit is contained in:
@@ -402,33 +402,21 @@ pub fn innerParse(
|
||||
},
|
||||
.partial_string_escaped_1 => |arr| {
|
||||
if (i + arr.len > r.len) return error.LengthMismatch;
|
||||
// tell the compiler that the by-length slice below is valid;
|
||||
// this assert is required for the inequality to be comptime-known
|
||||
if (arr.len > r.len) unreachable;
|
||||
@memcpy(r[i..][0..arr.len], arr[0..]);
|
||||
i += arr.len;
|
||||
},
|
||||
.partial_string_escaped_2 => |arr| {
|
||||
if (i + arr.len > r.len) return error.LengthMismatch;
|
||||
// tell the compiler that the by-length slice below is valid;
|
||||
// this assert is required for the inequality to be comptime-known
|
||||
if (arr.len > r.len) unreachable;
|
||||
@memcpy(r[i..][0..arr.len], arr[0..]);
|
||||
i += arr.len;
|
||||
},
|
||||
.partial_string_escaped_3 => |arr| {
|
||||
if (i + arr.len > r.len) return error.LengthMismatch;
|
||||
// tell the compiler that the by-length slice below is valid;
|
||||
// this assert is required for the inequality to be comptime-known
|
||||
if (arr.len > r.len) unreachable;
|
||||
@memcpy(r[i..][0..arr.len], arr[0..]);
|
||||
i += arr.len;
|
||||
},
|
||||
.partial_string_escaped_4 => |arr| {
|
||||
if (i + arr.len > r.len) return error.LengthMismatch;
|
||||
// tell the compiler that the by-length slice below is valid;
|
||||
// this assert is required for the inequality to be comptime-known
|
||||
if (arr.len > r.len) unreachable;
|
||||
@memcpy(r[i..][0..arr.len], arr[0..]);
|
||||
i += arr.len;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user