fix : ZBUFF_compressEnd() gives right amount remaining to flush, including future epilogue

This commit is contained in:
Yann Collet
2016-06-21 14:04:57 +02:00
parent f15c1cb00c
commit aa29226b7c
2 changed files with 2 additions and 1 deletions
+1
View File
@@ -1,4 +1,5 @@
v0.7.1
fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
fixed : corruption issue, reported by cj
modified : checksum enabled by default in command line mode
+1 -1
View File
@@ -297,7 +297,7 @@ size_t ZBUFF_compressEnd(ZBUFF_CCtx* zbc, void* dst, size_t* dstCapacityPtr)
op += outSize;
if (remainingToFlush) {
*dstCapacityPtr = op-ostart;
return remainingToFlush;
return remainingToFlush + (ZSTD_BLOCKHEADERSIZE * (zbc->stage != ZBUFFcs_final));
} }
if (zbc->stage == ZBUFFcs_final) { zbc->stage = ZBUFFcs_init; *dstCapacityPtr = op-ostart; return 0; }