authorgravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2025-09-02 02:26:01-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-09-02 11:34:46-07:00
logf872dd03da64e5b53d3a5c7a95344b5b64a7aacb
tree4b05036b0f163237f166475f5a041aa971345f16
parentbc7955306e3480fc065277d0b6c5abb6797a27ae

zstd.Decompress: Assert buffer length requirements as early as possible

Without this assert, providing a buffer that's smaller than required results in more cryptic assertion failures later on.

1 files changed, 1 insertions(+), 0 deletions(-)

lib/std/compress/zstd/Decompress.zig+1
...@@ -92,6 +92,7 @@ const indirect_vtable: Reader.VTable = .{...@@ -92,6 +92,7 @@ const indirect_vtable: Reader.VTable = .{
92///92///
93/// Otherwise, `buffer` has those requirements.93/// Otherwise, `buffer` has those requirements.
94pub fn init(input: *Reader, buffer: []u8, options: Options) Decompress {94pub fn init(input: *Reader, buffer: []u8, options: Options) Decompress {
95 if (buffer.len != 0) assert(buffer.len >= options.window_len + zstd.block_size_max);
95 return .{96 return .{
96 .input = input,97 .input = input,
97 .state = .new_frame,98 .state = .new_frame,