]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
fixed ZSTD_copyCCtx
authorinikep <inikep@gmail.com>
Thu, 25 Feb 2016 21:31:07 +0000 (22:31 +0100)
committerinikep <inikep@gmail.com>
Thu, 25 Feb 2016 21:31:07 +0000 (22:31 +0100)
lib/zstd_compress.c
lib/zstd_decompress.c

index 8a5f6f696cde6b38793fcf227c54e7f328f55fbc..5edd343433ff7dd0c69a340aa81d7de7ecb420fb 100644 (file)
@@ -228,8 +228,8 @@ static size_t ZSTD_resetCCtx_advanced (ZSTD_CCtx* zc,
 size_t ZSTD_copyCCtx(ZSTD_CCtx* dstCCtx, const ZSTD_CCtx* srcCCtx)
 {
     const U32 contentLog = (srcCCtx->params.strategy == ZSTD_fast) ? 1 : srcCCtx->params.contentLog;
-    const size_t tableSpace = ((1 << contentLog) + (1 << srcCCtx->params.hashLog)) * sizeof(U32);
-
+    const size_t tableSpace = ((1 << contentLog) + (1 << srcCCtx->params.hashLog) + (1 << srcCCtx->params.hashLog3)) * sizeof(U32);
+    
     if (srcCCtx->stage!=0) return ERROR(stage_wrong);
 
     ZSTD_resetCCtx_advanced(dstCCtx, srcCCtx->params);
@@ -243,6 +243,7 @@ size_t ZSTD_copyCCtx(ZSTD_CCtx* dstCCtx, const ZSTD_CCtx* srcCCtx)
 
     /* copy dictionary pointers */
     dstCCtx->nextToUpdate= srcCCtx->nextToUpdate;
+    dstCCtx->nextToUpdate3 = srcCCtx->nextToUpdate3;
     dstCCtx->nextSrc     = srcCCtx->nextSrc;
     dstCCtx->base        = srcCCtx->base;
     dstCCtx->dictBase    = srcCCtx->dictBase;
index 8cedb3ea97c26f8475e731e8c98df8038c1ca687..a574698666569e150ec144e4d6ea9c39e3f306c0 100644 (file)
@@ -159,6 +159,7 @@ size_t ZSTD_decompressBegin(ZSTD_DCtx* dctx)
     dctx->dictEnd = NULL;
     dctx->hufTableX4[0] = HufLog;
     dctx->flagStaticTables = 0;
+    dctx->params.searchLength = MINMATCH;
     return 0;
 }