]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Delegate HUF_decompress4X_hufOnly to workspace version
authorStella Lau <laus@fb.com>
Thu, 29 Jun 2017 23:22:32 +0000 (16:22 -0700)
committerStella Lau <laus@fb.com>
Thu, 29 Jun 2017 23:22:32 +0000 (16:22 -0700)
lib/decompress/huf_decompress.c

index 68938aebd2de0d40b282e4ef86e0090aa8b2381b..4343eb6eacef7ff89ceddc661ed2229d633f1a87 100644 (file)
@@ -962,16 +962,11 @@ size_t HUF_decompress4X_DCtx (HUF_DTable* dctx, void* dst, size_t dstSize, const
     }
 }
 
-size_t HUF_decompress4X_hufOnly (HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize)
+size_t HUF_decompress4X_hufOnly(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize)
 {
-    /* validation checks */
-    if (dstSize == 0) return ERROR(dstSize_tooSmall);
-    if ((cSrcSize >= dstSize) || (cSrcSize <= 1)) return ERROR(corruption_detected);   /* invalid */
-
-    {   U32 const algoNb = HUF_selectDecoder(dstSize, cSrcSize);
-        return algoNb ? HUF_decompress4X4_DCtx(dctx, dst, dstSize, cSrc, cSrcSize) :
-                        HUF_decompress4X2_DCtx(dctx, dst, dstSize, cSrc, cSrcSize) ;
-    }
+    U32 workSpace[HUF_DECOMPRESS_WORKSPACE_SIZE_U32];
+    return HUF_decompress4X_hufOnly_wksp(dctx, dst, dstSize, cSrc, cSrcSize,
+                                         workSpace, sizeof(workSpace));
 }