diff --git a/NEWS b/NEWS index 0e8d87d62..ac832b12d 100644 --- a/NEWS +++ b/NEWS @@ -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 diff --git a/lib/compress/zbuff_compress.c b/lib/compress/zbuff_compress.c index d4ea217c2..023f92594 100644 --- a/lib/compress/zbuff_compress.c +++ b/lib/compress/zbuff_compress.c @@ -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; }