Adding test and null check for malloc
This commit is contained in:
parent
f3c4fd17e3
commit
be0bebd24e
@ -2321,8 +2321,10 @@ size_t ZSTD_getSequences(ZSTD_CCtx* zc, ZSTD_Sequence* outSeqs,
|
|||||||
{
|
{
|
||||||
const size_t dstCapacity = ZSTD_compressBound(srcSize);
|
const size_t dstCapacity = ZSTD_compressBound(srcSize);
|
||||||
void* dst = ZSTD_malloc(dstCapacity, ZSTD_defaultCMem);
|
void* dst = ZSTD_malloc(dstCapacity, ZSTD_defaultCMem);
|
||||||
|
|
||||||
SeqCollector seqCollector;
|
SeqCollector seqCollector;
|
||||||
|
|
||||||
|
assert(dst != NULL);
|
||||||
|
|
||||||
seqCollector.collectSequences = 1;
|
seqCollector.collectSequences = 1;
|
||||||
seqCollector.seqStart = outSeqs;
|
seqCollector.seqStart = outSeqs;
|
||||||
seqCollector.seqIndex = 0;
|
seqCollector.seqIndex = 0;
|
||||||
|
@ -1962,11 +1962,29 @@ static int basicUnitTests(U32 const seed, double compressibility)
|
|||||||
|
|
||||||
{
|
{
|
||||||
ZSTD_CCtx* cctx = ZSTD_createCCtx();
|
ZSTD_CCtx* cctx = ZSTD_createCCtx();
|
||||||
assert(cctx != NULL);
|
size_t zerosLength = ZSTD_BLOCKSIZE_MAX * 2 - 1;
|
||||||
|
size_t expectedOffsets[] = {1, 1};
|
||||||
|
size_t expectedLitLengths[] = {2, 1};
|
||||||
|
size_t expectedMatchLengths[] = {ZSTD_BLOCKSIZE_MAX - 2, ZSTD_BLOCKSIZE_MAX - 2};
|
||||||
|
size_t expectedReps[] = {1, 1};
|
||||||
|
size_t expectedMatchPos[] = {2, 1};
|
||||||
|
size_t expectedSequencesSize = 2;
|
||||||
|
size_t sequencesSize;
|
||||||
|
size_t i = 0;
|
||||||
|
ZSTD_Sequence* sequences = (ZSTD_Sequence*)compressedBuffer;
|
||||||
DISPLAYLEVEL(3, "test%3i : ZSTD_getSequences zeros : ", testNb++);
|
DISPLAYLEVEL(3, "test%3i : ZSTD_getSequences zeros : ", testNb++);
|
||||||
memset(CNBuffer, 0, 1000000);
|
assert(cctx != NULL);
|
||||||
assert(ZSTD_getSequences(cctx, (ZSTD_Sequence*)compressedBuffer, 1000000,
|
memset(CNBuffer, 0, zerosLength);
|
||||||
CNBuffer, 1000000) == 1000000 / 131071 + 1);
|
sequencesSize = ZSTD_getSequences(cctx, sequences, 10,
|
||||||
|
CNBuffer, zerosLength);
|
||||||
|
assert(sequencesSize == expectedSequencesSize);
|
||||||
|
for (i = 0; i < sequencesSize; ++i) {
|
||||||
|
assert(sequences[i].offset == expectedOffsets[i]);
|
||||||
|
assert(sequences[i].litLength == expectedLitLengths[i]);
|
||||||
|
assert(sequences[i].matchLength == expectedMatchLengths[i]);
|
||||||
|
assert(sequences[i].rep == expectedReps[i]);
|
||||||
|
assert(sequences[i].matchPos == expectedMatchPos[i]);
|
||||||
|
}
|
||||||
ZSTD_freeCCtx(cctx);
|
ZSTD_freeCCtx(cctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user