Commit d034f2a87b

dweiller <4678790+dweiller@users.noreply.github.com>
2025-03-31 07:24:37
std.compress.zstd: ensure window size fits into usize
1 parent 7a7d6a0
Changed files (1)
lib
std
compress
zstandard
lib/std/compress/zstandard/decompress.zig
@@ -380,7 +380,7 @@ pub const FrameContext = struct {
     ///   - `error.WindowSizeUnknown` if the frame does not have a valid window
     ///     size
     ///   - `error.WindowTooLarge` if the window size is larger than
-    ///     `window_size_max`
+    ///     `window_size_max` or `std.math.intMax(usize)`
     ///   - `error.ContentSizeTooLarge` if the frame header indicates a content
     ///     size larger than `std.math.maxInt(usize)`
     pub fn init(
@@ -395,7 +395,7 @@ pub const FrameContext = struct {
         const window_size = if (window_size_raw > window_size_max)
             return error.WindowTooLarge
         else
-            @as(usize, @intCast(window_size_raw));
+            std.math.cast(usize, window_size_raw) orelse return error.WindowTooLarge;
 
         const should_compute_checksum =
             frame_header.descriptor.content_checksum_flag and verify_checksum;