Skip to content

Commit b0bcbbf

Browse files
Merge pull request #3345 from daniellerozenblit/fix-1GiB-file-bug
Fix Window Resizing Edge Case
2 parents 0c88a7b + 9b9ad5a commit b0bcbbf

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

lib/compress/zstd_compress.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -1370,8 +1370,8 @@ ZSTD_adjustCParams_internal(ZSTD_compressionParameters cPar,
13701370
}
13711371

13721372
/* resize windowLog if input is small enough, to use less memory */
1373-
if ( (srcSize < maxWindowResize)
1374-
&& (dictSize < maxWindowResize) ) {
1373+
if ( (srcSize <= maxWindowResize)
1374+
&& (dictSize <= maxWindowResize) ) {
13751375
U32 const tSize = (U32)(srcSize + dictSize);
13761376
static U32 const hashSizeMin = 1 << ZSTD_HASHLOG_MIN;
13771377
U32 const srcLog = (tSize < hashSizeMin) ? ZSTD_HASHLOG_MIN :
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
datagen -g1G > file
3+
zstd --long=31 -1 --single-thread --no-content-size -f file
4+
zstd -l -v file.zst
5+
6+
# We want to ignore stderr (its outputting "*** zstd command line interface
7+
# 64-bits v1.5.3, by Yann Collet ***")
8+
9+
rm file file.zst

tests/cli-tests/compression/window-resize.sh.stderr.ignore

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
...
2+
Window Size: 1.000 GiB (1073741824 B)
3+
...

0 commit comments

Comments
 (0)