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

dev
Yann Collet 2016-06-21 14:04:57 +02:00
parent f15c1cb00c
commit aa29226b7c
2 changed files with 2 additions and 1 deletions

1
NEWS
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

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; }