From f3120413cce912886d808726b481a06462e6a8db Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Sat, 19 Mar 2016 11:40:19 +0100 Subject: [PATCH] Fixed : decoder error on erroneous data --- programs/fuzzer.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/programs/fuzzer.c b/programs/fuzzer.c index 55e0c7d70..72d71ea98 100644 --- a/programs/fuzzer.c +++ b/programs/fuzzer.c @@ -596,18 +596,16 @@ int fuzzerTests(U32 seed, U32 nbTests, unsigned startTest, double compressibilit } /* decompress noisy source */ - { - U32 noiseSrc = FUZ_rand(&lseed) % 5; - const U32 endMark = 0xA9B1C3D6; - U32 endCheck; + { U32 const noiseSrc = FUZ_rand(&lseed) % 5; + U32 const endMark = 0xA9B1C3D6; srcBuffer = cNoiseBuffer[noiseSrc]; memcpy(dstBuffer+sampleSize, &endMark, 4); errorCode = ZSTD_decompress(dstBuffer, sampleSize, cBuffer, cSize); /* result *may* be an unlikely success, but even then, it must strictly respect dest buffer boundaries */ CHECK((!ZSTD_isError(errorCode)) && (errorCode>sampleSize), "ZSTD_decompress on noisy src : result is too large : %u > %u (dst buffer)", (U32)errorCode, (U32)sampleSize); - memcpy(&endCheck, dstBuffer+sampleSize, 4); - CHECK(endMark!=endCheck, "ZSTD_decompress on noisy src : dst buffer overflow"); + { U32 endCheck; memcpy(&endCheck, dstBuffer+sampleSize, 4); + CHECK(endMark!=endCheck, "ZSTD_decompress on noisy src : dst buffer overflow"); } } } -- 2.47.2