diff --git a/lib/zstd_decompress.c b/lib/zstd_decompress.c index 685e6de4..6508dbcd 100644 --- a/lib/zstd_decompress.c +++ b/lib/zstd_decompress.c @@ -1033,7 +1033,7 @@ size_t ZSTD_decompress(void* dst, size_t maxDstSize, const void* src, size_t src } -/* ****************************** +/*_****************************** * Streaming Decompression API ********************************/ size_t ZSTD_nextSrcSizeToDecompress(ZSTD_DCtx* dctx) diff --git a/programs/fuzzer.c b/programs/fuzzer.c index 697695b3..55e0c7d7 100644 --- a/programs/fuzzer.c +++ b/programs/fuzzer.c @@ -513,8 +513,7 @@ int fuzzerTests(U32 seed, U32 nbTests, unsigned startTest, double compressibilit CHECK(ZSTD_isError(cSize), "ZSTD_compressCCtx failed"); /* compression failure test : too small dest buffer */ - if (cSize > 3) - { + if (cSize > 3) { const size_t missing = (FUZ_rand(&lseed) % (cSize-2)) + 1; /* no problem, as cSize > 4 (frameHeaderSizer) */ const size_t tooSmallSize = cSize - missing; static const U32 endMark = 0x4DC2B1A9; @@ -526,6 +525,13 @@ int fuzzerTests(U32 seed, U32 nbTests, unsigned startTest, double compressibilit CHECK(endCheck != endMark, "ZSTD_compressCCtx : dst buffer overflow"); } + /* decompression header test */ + { ZSTD_frameParams dParams; + size_t const check = ZSTD_getFrameParams(&dParams, cBuffer, cSize); + CHECK(ZSTD_isError(check), "Frame Parameters extraction failed"); + CHECK(dParams.frameContentSize != sampleSize, "Frame content size incorrect"); + } + /* successfull decompression tests*/ dSupSize = (FUZ_rand(&lseed) & 1) ? 0 : (FUZ_rand(&lseed) & 31) + 1; dSize = ZSTD_decompress(dstBuffer, sampleSize + dSupSize, cBuffer, cSize);