]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
refined exception for hashlog < min
authorYann Collet <yann.collet.73@gmail.com>
Fri, 1 Apr 2016 22:46:40 +0000 (00:46 +0200)
committerYann Collet <yann.collet.73@gmail.com>
Fri, 1 Apr 2016 22:46:40 +0000 (00:46 +0200)
lib/zstd_compress.c

index 65d7258d9e87158dc51865e52b56cc89e7cc259c..5fe078fcdc608e74a7a34a81daff8449babf4756 100644 (file)
@@ -164,8 +164,8 @@ size_t ZSTD_checkCParams_advanced(ZSTD_compressionParameters cParams, U64 srcSiz
     if (srcSize > (1ULL << ZSTD_WINDOWLOG_MIN)) return ZSTD_checkCParams(cParams);
     if (cParams.windowLog < ZSTD_WINDOWLOG_ABSOLUTEMIN) return ERROR(compressionParameter_unsupported);
     if (srcSize <= (1ULL << cParams.windowLog)) cParams.windowLog = ZSTD_WINDOWLOG_MIN;   /* fake value - temporary work around */
-    if (srcSize <= (1ULL << cParams.hashLog)) cParams.hashLog = ZSTD_HASHLOG_MIN;       /* fake value - temporary work around */
     if (srcSize <= (1ULL << cParams.contentLog)) cParams.contentLog = ZSTD_CONTENTLOG_MIN; /* fake value - temporary work around */
+    if ((srcSize <= (1ULL << cParams.hashLog)) && ((U32)cParams.strategy < (U32)ZSTD_btlazy2)) cParams.hashLog = ZSTD_HASHLOG_MIN;       /* fake value - temporary work around */
     return ZSTD_checkCParams(cParams);
 }