4040#define free rt_free
4141
4242#define BLOCK_HEADER_SIZE 4
43- #define COMPRESS_BUFFER_PADDING 400
43+
4444#define COMPRESS_BUFFER_SIZE 4096
4545#define DCOMPRESS_BUFFER_SIZE 4096
4646
47+ /* Buffer padding for destination buffer, least size + 400 bytes large because incompressible data may increase in size. */
48+ #define BUFFER_PADDING QLZ_BUFFER_PADDING
49+
4750#if QLZ_STREAMING_BUFFER != 0
4851 #error Define QLZ_STREAMING_BUFFER to a zero value for this demo
4952#endif
@@ -61,7 +64,7 @@ static int quicklz_compress_file(int fd_in, int fd_out)
6164 file_size = lseek (fd_in , 0 , SEEK_END );
6265 lseek (fd_in , 0 , SEEK_SET );
6366
64- cmprs_buffer = (rt_uint8_t * ) malloc (COMPRESS_BUFFER_SIZE + COMPRESS_BUFFER_PADDING );
67+ cmprs_buffer = (rt_uint8_t * ) malloc (COMPRESS_BUFFER_SIZE + BUFFER_PADDING );
6568 buffer = (rt_uint8_t * ) malloc (COMPRESS_BUFFER_SIZE );
6669 if (!cmprs_buffer || !buffer )
6770 {
@@ -93,7 +96,7 @@ static int quicklz_compress_file(int fd_in, int fd_out)
9396 }
9497
9598 memset (buffer , 0x00 , COMPRESS_BUFFER_SIZE );
96- memset (cmprs_buffer , 0x00 , COMPRESS_BUFFER_SIZE + COMPRESS_BUFFER_PADDING );
99+ memset (cmprs_buffer , 0x00 , COMPRESS_BUFFER_SIZE + BUFFER_PADDING );
97100
98101 read (fd_in , buffer , block_size );
99102
@@ -157,7 +160,7 @@ static int quicklz_decompress_file(int fd_in, int fd_out)
157160 }
158161
159162 dcmprs_buffer = (rt_uint8_t * ) malloc (DCOMPRESS_BUFFER_SIZE );
160- buffer = (rt_uint8_t * ) malloc (DCOMPRESS_BUFFER_SIZE + COMPRESS_BUFFER_PADDING );
163+ buffer = (rt_uint8_t * ) malloc (DCOMPRESS_BUFFER_SIZE + BUFFER_PADDING );
161164 if (!dcmprs_buffer || !buffer )
162165 {
163166 rt_kprintf ("[qlz] No memory for dcmprs_buffer or buffer!\n" );
@@ -181,7 +184,7 @@ static int quicklz_decompress_file(int fd_in, int fd_out)
181184 read (fd_in , buffer_hdr , BLOCK_HEADER_SIZE );
182185 block_size = buffer_hdr [0 ] * (1 << 24 ) + buffer_hdr [1 ] * (1 << 16 ) + buffer_hdr [2 ] * (1 << 8 ) + buffer_hdr [3 ];
183186
184- memset (buffer , 0x00 , COMPRESS_BUFFER_SIZE + COMPRESS_BUFFER_PADDING );
187+ memset (buffer , 0x00 , COMPRESS_BUFFER_SIZE + BUFFER_PADDING );
185188 memset (dcmprs_buffer , 0x00 , DCOMPRESS_BUFFER_SIZE );
186189
187190 read (fd_in , buffer , block_size );
0 commit comments