]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
fixed 0-seq blocks in block-decompression mode
authorYann Collet <cyan@fb.com>
Tue, 6 Mar 2018 09:50:19 +0000 (01:50 -0800)
committerYann Collet <cyan@fb.com>
Tue, 6 Mar 2018 09:50:19 +0000 (01:50 -0800)
lib/decompress/zstd_decompress.c

index 12c46e57261afacb5665df29582ee68fa1506a74..53f5553377cafdea0ba1e06e334bad3f8ec9b28e 100644 (file)
@@ -1331,7 +1331,8 @@ static size_t ZSTD_decompressBlock_internal(ZSTD_DCtx* dctx,
         ip += seqHSize;
         srcSize -= seqHSize;
 
-        if (dctx->fParams.windowSize > (1<<24)) {
+        if ( (dctx->fParams.windowSize > (1<<24) || !frame)
+          && (nbSeq>0) ) {  /* could probably use a larger nbSeq limit */
             U32 const shareLongOffsets = ZSTD_getLongOffsetsShare(dctx->OFTptr);
             U32 const minShare = MEM_64bits() ? 7 : 20;
             if (shareLongOffsets >= minShare)