zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit a625df463648b7f6ff2d15de8be5e168c8bc7363 (tree)
parent 1c509f483aef8b826f02ffc7ab8d1f2cfcec0d36
Author: dweiller <4678790+dweiller@users.noreplay.github.com>
Date:   Sat,  4 Feb 2023 11:39:48 +1100

std.compress.zstandard: fix fse decoding crash

Diffstat:
Mlib/std/compress/zstandard/decode/fse.zig | 2++
1 file changed, 2 insertions(+), 0 deletions(-)

diff --git a/lib/std/compress/zstandard/decode/fse.zig b/lib/std/compress/zstandard/decode/fse.zig @@ -46,6 +46,7 @@ pub fn decodeFseTable( if (value == 1) { while (true) { const repeat_flag = try bit_reader.readBitsNoEof(u2, 2); + if (repeat_flag + value_count > 256) return error.MalformedFseTable; var i: usize = 0; while (i < repeat_flag) : (i += 1) { values[value_count] = 1; @@ -54,6 +55,7 @@ pub fn decodeFseTable( if (repeat_flag < 3) break; } } + if (value_count == 256) break; } bit_reader.alignToByte();