From 06ca9c7d7ce2c9883551ab1e4c535f6a456b5e5d Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Tue, 6 Mar 2018 01:50:19 -0800 Subject: [PATCH] fixed 0-seq blocks in block-decompression mode --- lib/decompress/zstd_decompress.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/decompress/zstd_decompress.c b/lib/decompress/zstd_decompress.c index 12c46e572..53f555337 100644 --- a/lib/decompress/zstd_decompress.c +++ b/lib/decompress/zstd_decompress.c @@ -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)