From 87aaa9c3f08add01c40b830cd8293a0ad20f24dc Mon Sep 17 00:00:00 2001 From: Jeroen van Rijn Date: Sun, 27 Jun 2021 18:44:36 +0200 Subject: [PATCH] ZLIB: Fix edge case where initial buffer < 258 bytes. --- core/compress/zlib/zlib.odin | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/core/compress/zlib/zlib.odin b/core/compress/zlib/zlib.odin index c9439b285..0de9a6ec6 100644 --- a/core/compress/zlib/zlib.odin +++ b/core/compress/zlib/zlib.odin @@ -502,12 +502,10 @@ inflate_from_context :: proc(using ctx: ^compress.Context_Memory_Input, raw := f inflate_raw :: proc(z: ^$C, expected_output_size := -1, allocator := context.allocator) -> (err: Error) #no_bounds_check { expected_output_size := expected_output_size; - if expected_output_size <= 0 { - /* - Always set up a minimum allocation size. - */ - expected_output_size = compress.COMPRESS_OUTPUT_ALLOCATE_MIN; - } + /* + Always set up a minimum allocation size. + */ + expected_output_size = max(max(expected_output_size, compress.COMPRESS_OUTPUT_ALLOCATE_MIN), 512); // fmt.printf("\nZLIB: Expected Payload Size: %v\n\n", expected_output_size);