From: Yann Collet Date: Tue, 14 Aug 2018 23:56:07 +0000 (-0700) Subject: Merge branch 'dev' into scanbuild X-Git-Tag: v0.0.29~36^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3692c315988ed2081f6f146cf0f61822f44b2077;p=thirdparty%2Fzstd.git Merge branch 'dev' into scanbuild --- 3692c315988ed2081f6f146cf0f61822f44b2077 diff --cc lib/compress/zstdmt_compress.c index 74f9dc29c,74f9dc29c..27071ed79 --- a/lib/compress/zstdmt_compress.c +++ b/lib/compress/zstdmt_compress.c @@@ -320,7 -320,7 +320,8 @@@ static void ZSTDMT_setNbSeq(ZSTDMT_seqP static ZSTDMT_seqPool* ZSTDMT_createSeqPool(unsigned nbWorkers, ZSTD_customMem cMem) { -- ZSTDMT_seqPool* seqPool = ZSTDMT_createBufferPool(nbWorkers, cMem); ++ ZSTDMT_seqPool* const seqPool = ZSTDMT_createBufferPool(nbWorkers, cMem); ++ if (seqPool == NULL) return NULL; ZSTDMT_setNbSeq(seqPool, 0); return seqPool; } diff --cc tests/fuzzer.c index 6d57afa16,6d57afa16..66b33c5ee --- a/tests/fuzzer.c +++ b/tests/fuzzer.c @@@ -179,13 -179,13 +179,9 @@@ static void FUZ_displayMallocStats(mall (U32)(count.totalMalloc >> 10)); } --static int FUZ_mallocTests(unsigned seed, double compressibility, unsigned part) ++static int FUZ_mallocTests_internal(unsigned seed, double compressibility, unsigned part, ++ void* inBuffer, size_t inSize, void* outBuffer, size_t outSize) { -- size_t const inSize = 64 MB + 16 MB + 4 MB + 1 MB + 256 KB + 64 KB; /* 85.3 MB */ -- size_t const outSize = ZSTD_compressBound(inSize); -- void* const inBuffer = malloc(inSize); -- void* const outBuffer = malloc(outSize); -- /* test only played in verbose mode, as they are long */ if (g_displayLevel<3) return 0; @@@ -270,6 -270,6 +266,28 @@@ return 0; } ++static int FUZ_mallocTests(unsigned seed, double compressibility, unsigned part) ++{ ++ size_t const inSize = 64 MB + 16 MB + 4 MB + 1 MB + 256 KB + 64 KB; /* 85.3 MB */ ++ size_t const outSize = ZSTD_compressBound(inSize); ++ void* const inBuffer = malloc(inSize); ++ void* const outBuffer = malloc(outSize); ++ int result; ++ ++ /* Create compressible noise */ ++ if (!inBuffer || !outBuffer) { ++ DISPLAY("Not enough memory, aborting \n"); ++ exit(1); ++ } ++ ++ result = FUZ_mallocTests_internal(seed, compressibility, part, ++ inBuffer, inSize, outBuffer, outSize); ++ ++ free(inBuffer); ++ free(outBuffer); ++ return result; ++} ++ #else static int FUZ_mallocTests(unsigned seed, double compressibility, unsigned part) @@@ -1535,7 -1535,7 +1553,6 @@@ static int fuzzerTests(U32 seed, U32 nb size_t const dstBufferSize = (size_t)1<