minor variable isolation

This commit is contained in:
Yann Collet
2016-04-04 01:49:30 +02:00
parent 15bc943201
commit 541cf1993f
+46 -46
View File
@@ -225,7 +225,6 @@ static int fuzzerTests(U32 seed, U32 nbTests, unsigned startTest, double compres
static const U32 maxSrcLog = 24; static const U32 maxSrcLog = 24;
static const U32 maxSampleLog = 19; static const U32 maxSampleLog = 19;
BYTE* cNoiseBuffer[5]; BYTE* cNoiseBuffer[5];
BYTE* srcBuffer;
size_t srcBufferSize = (size_t)1<<maxSrcLog; size_t srcBufferSize = (size_t)1<<maxSrcLog;
BYTE* copyBuffer; BYTE* copyBuffer;
size_t copyBufferSize = srcBufferSize + (1<<maxSampleLog); size_t copyBufferSize = srcBufferSize + (1<<maxSampleLog);
@@ -261,9 +260,7 @@ static int fuzzerTests(U32 seed, U32 nbTests, unsigned startTest, double compres
RDG_genBuffer(cNoiseBuffer[2], srcBufferSize, compressibility, 0., coreSeed); RDG_genBuffer(cNoiseBuffer[2], srcBufferSize, compressibility, 0., coreSeed);
RDG_genBuffer(cNoiseBuffer[3], srcBufferSize, 0.95, 0., coreSeed); /* highly compressible */ RDG_genBuffer(cNoiseBuffer[3], srcBufferSize, 0.95, 0., coreSeed); /* highly compressible */
RDG_genBuffer(cNoiseBuffer[4], srcBufferSize, 1.00, 0., coreSeed); /* sparse content */ RDG_genBuffer(cNoiseBuffer[4], srcBufferSize, 1.00, 0., coreSeed); /* sparse content */
srcBuffer = cNoiseBuffer[2]; memset(copyBuffer, 0x65, copyBufferSize); /* make copyBuffer considered initialized */
memset(copyBuffer, 0x65, copyBufferSize);
memcpy(copyBuffer, srcBuffer, MIN(copyBufferSize,srcBufferSize)); /* make copyBuffer considered initialized */
/* catch up testNb */ /* catch up testNb */
for (testNb=1; testNb < startTest; testNb++) for (testNb=1; testNb < startTest; testNb++)
@@ -272,12 +269,13 @@ static int fuzzerTests(U32 seed, U32 nbTests, unsigned startTest, double compres
/* test loop */ /* test loop */
for ( ; (testNb <= nbTests) || (FUZ_GetMilliSpan(startTime) < g_testTime); testNb++ ) { for ( ; (testNb <= nbTests) || (FUZ_GetMilliSpan(startTime) < g_testTime); testNb++ ) {
U32 lseed; U32 lseed;
const BYTE* srcBuffer;
size_t sampleSize, sampleStart; size_t sampleSize, sampleStart;
const BYTE* dict; const BYTE* dict;
size_t cSize, dictSize; size_t cSize, dictSize;
size_t maxTestSize, totalTestSize, readSize, totalCSize, genSize, totalGenSize; size_t maxTestSize, totalTestSize, readSize, totalCSize, genSize, totalGenSize;
size_t errorCode; size_t errorCode;
U32 sampleSizeLog, buffNb, n, nbChunks; U32 sampleSizeLog, n, nbChunks;
XXH64_CREATESTATE_STATIC(xxh64); XXH64_CREATESTATE_STATIC(xxh64);
U64 crcOrig; U64 crcOrig;
@@ -293,18 +291,19 @@ static int fuzzerTests(U32 seed, U32 nbTests, unsigned startTest, double compres
if ((FUZ_rand(&lseed) & 0xFF) == 132) { ZBUFF_freeDCtx(zd); zd = ZBUFF_createDCtx(); } if ((FUZ_rand(&lseed) & 0xFF) == 132) { ZBUFF_freeDCtx(zd); zd = ZBUFF_createDCtx(); }
/* srcBuffer selection */ /* srcBuffer selection */
buffNb = FUZ_rand(&lseed) & 0x7F; { U32 buffNb = FUZ_rand(&lseed) & 0x7F;
if (buffNb & 7) buffNb=2; if (buffNb & 7) buffNb=2;
else { else {
buffNb >>= 3; buffNb >>= 3;
if (buffNb & 7) { if (buffNb & 7) {
const U32 tnb[2] = { 1, 3 }; const U32 tnb[2] = { 1, 3 };
buffNb = tnb[buffNb >> 3]; buffNb = tnb[buffNb >> 3];
} else { } else {
const U32 tnb[2] = { 0, 4 }; const U32 tnb[2] = { 0, 4 };
buffNb = tnb[buffNb >> 3]; buffNb = tnb[buffNb >> 3];
} } } }
srcBuffer = cNoiseBuffer[buffNb]; srcBuffer = cNoiseBuffer[buffNb];
}
/* Multi - segments compression test */ /* Multi - segments compression test */
XXH64_reset(xxh64, 0); XXH64_reset(xxh64, 0);
@@ -323,40 +322,41 @@ static int fuzzerTests(U32 seed, U32 nbTests, unsigned startTest, double compres
totalTestSize = 0; totalTestSize = 0;
cSize = 0; cSize = 0;
for (n=0; n<nbChunks; n++) { for (n=0; (n<nbChunks) && (totalTestSize < maxTestSize); n++) {
sampleSizeLog = FUZ_rand(&lseed) % maxSampleLog; { size_t readChunkSize;
sampleSize = (size_t)1 << sampleSizeLog; size_t dstBuffSize;
sampleSize += FUZ_rand(&lseed) & (sampleSize-1); { U32 const srcChSizeLog = FUZ_rand(&lseed) % maxSampleLog;
sampleStart = FUZ_rand(&lseed) % (srcBufferSize - sampleSize); size_t const srcChSizeMask = ((size_t)1 << srcChSizeLog) - 1;
readSize = sampleSize; size_t const srcChSize = srcChSizeMask+1 + (FUZ_rand(&lseed) & srcChSizeMask);
readChunkSize = srcChSize;
}
{ U32 const dstChSizeLog = FUZ_rand(&lseed) % maxSampleLog;
size_t const dstChSizeMask = ((size_t)1 << dstChSizeLog) - 1;
size_t const dstChSize = dstChSizeMask+1 + (FUZ_rand(&lseed) & dstChSizeMask);
dstBuffSize = MIN (cBufferSize - cSize, dstChSize);
}
/* random size output buffer */ errorCode = ZBUFF_compressContinue(zc, cBuffer+cSize, &dstBuffSize, srcBuffer+sampleStart, &readChunkSize);
sampleSizeLog = FUZ_rand(&lseed) % maxSampleLog; CHECK (ZBUFF_isError(errorCode), "compression error : %s", ZBUFF_getErrorName(errorCode));
sampleSize = (size_t)1 << sampleSizeLog;
sampleSize += FUZ_rand(&lseed) & (sampleSize-1);
genSize = MIN (cBufferSize - cSize, sampleSize);
errorCode = ZBUFF_compressContinue(zc, cBuffer+cSize, &genSize, srcBuffer+sampleStart, &readSize); XXH64_update(xxh64, srcBuffer+sampleStart, readChunkSize);
CHECK (ZBUFF_isError(errorCode), "compression error : %s", ZBUFF_getErrorName(errorCode)); memcpy(copyBuffer+totalTestSize, srcBuffer+sampleStart, readChunkSize);
cSize += dstBuffSize;
XXH64_update(xxh64, srcBuffer+sampleStart, readSize); totalTestSize += readChunkSize;
memcpy(copyBuffer+totalTestSize, srcBuffer+sampleStart, readSize); }
cSize += genSize;
totalTestSize += readSize;
/* random flush operation, to mess around */ /* random flush operation, to mess around */
if ((FUZ_rand(&lseed) & 15) == 0) { if ((FUZ_rand(&lseed) & 15) == 0) {
sampleSizeLog = FUZ_rand(&lseed) % maxSampleLog; size_t dstBuffSize;
sampleSize = (size_t)1 << sampleSizeLog; { U32 const dstChSizeLog = FUZ_rand(&lseed) % maxSampleLog;
sampleSize += FUZ_rand(&lseed) & (sampleSize-1); size_t const dstChSizeMask = ((size_t)1 << dstChSizeLog) - 1;
genSize = MIN (cBufferSize - cSize, sampleSize); size_t const dstChSize = dstChSizeMask+1 + (FUZ_rand(&lseed) & dstChSizeMask);
errorCode = ZBUFF_compressFlush(zc, cBuffer+cSize, &genSize); dstBuffSize = MIN (cBufferSize - cSize, dstChSize);
CHECK (ZBUFF_isError(errorCode), "flush error : %s", ZBUFF_getErrorName(errorCode)); }
cSize += genSize; { size_t const flushError = ZBUFF_compressFlush(zc, cBuffer+cSize, &dstBuffSize);
} CHECK (ZBUFF_isError(flushError), "flush error : %s", ZBUFF_getErrorName(flushError)); }
cSize += dstBuffSize;
if (totalTestSize > maxTestSize) break; } }
}
genSize = cBufferSize - cSize; genSize = cBufferSize - cSize;
errorCode = ZBUFF_compressEnd(zc, cBuffer+cSize, &genSize); errorCode = ZBUFF_compressEnd(zc, cBuffer+cSize, &genSize);
CHECK (ZBUFF_isError(errorCode), "compression error : %s", ZBUFF_getErrorName(errorCode)); CHECK (ZBUFF_isError(errorCode), "compression error : %s", ZBUFF_getErrorName(errorCode));