]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Fixed issue #304, reported by @borzunov
authorYann Collet <cyan@fb.com>
Tue, 30 Aug 2016 13:51:00 +0000 (06:51 -0700)
committerYann Collet <cyan@fb.com>
Tue, 30 Aug 2016 13:51:00 +0000 (06:51 -0700)
lib/compress/huf_compress.c
lib/compress/zstd_compress.c

index 86a53c2e6abfd4aa5aa3bc4c5eb53bbb54e2f05b..9f92d171795abb9c51a841e35592d1e2178a2e3f 100644 (file)
@@ -124,7 +124,8 @@ size_t HUF_writeCTable (void* dst, size_t maxDstSize,
         if ((size>1) & (size < maxSymbolValue/2)) {   /* FSE compressed */
             op[0] = (BYTE)size;
             return size+1;
-    }   }
+        }
+    }
 
     /* raw values */
     if (maxSymbolValue > (256-128)) return ERROR(GENERIC);   /* should not happen */
@@ -491,7 +492,7 @@ static size_t HUF_compress_internal (
     /* Scan input and build symbol stats */
     {   size_t const largest = FSE_count (count, &maxSymbolValue, (const BYTE*)src, srcSize);
         if (HUF_isError(largest)) return largest;
-        if (largest == srcSize) { *ostart = ((const BYTE*)src)[0]; return 1; }   /* rle */
+        if (largest == srcSize) { *ostart = ((const BYTE*)src)[0]; return 1; }   /* single symbol, rle */
         if (largest <= (srcSize >> 7)+1) return 0;   /* Fast heuristic : not compressible enough */
     }
 
index 911dfeb0b8ed2327a9113c2ff6c409f32ca9856c..34c6cf3ed167515a59dc7a1da5b80d9c06b3c359 100644 (file)
@@ -2540,8 +2540,9 @@ static size_t ZSTD_compress_insertDictionary(ZSTD_CCtx* zc, const void* dict, si
     zc->dictID = zc->params.fParams.noDictIDFlag ? 0 :  MEM_readLE32((const char*)dict+4);
 
     /* known magic number : dict is parsed for entropy stats and content */
-    {   size_t const eSize = ZSTD_loadDictEntropyStats(zc, (const char*)dict+8 /* skip dictHeader */, dictSize-8) + 8;
-        if (ZSTD_isError(eSize)) return eSize;
+    {   size_t const eSize_8 = ZSTD_loadDictEntropyStats(zc, (const char*)dict+8 /* skip dictHeader */, dictSize-8);
+        size_t const eSize = eSize_8 + 8;
+        if (ZSTD_isError(eSize_8)) return eSize_8;
         return ZSTD_loadDictionaryContent(zc, (const char*)dict+eSize, dictSize-eSize);
     }
 }