From 97b7f712f3590bf6b81d2211c6a5f65f81b22ae4 Mon Sep 17 00:00:00 2001 From: Sen Huang Date: Mon, 4 Nov 2019 14:33:52 -0500 Subject: [PATCH] Change to heap allocation, remove implicit type conversion --- lib/dictBuilder/zdict.c | 9 +++++---- tests/fuzzer.c | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/dictBuilder/zdict.c b/lib/dictBuilder/zdict.c index 863a8edf7..32f863660 100644 --- a/lib/dictBuilder/zdict.c +++ b/lib/dictBuilder/zdict.c @@ -104,10 +104,11 @@ size_t ZDICT_getDictHeaderSize(const void* dictBuffer, size_t dictSize) { if (dictSize <= 8 || MEM_readLE32(dictBuffer) != ZSTD_MAGIC_DICTIONARY) return 0; - { ZSTD_entropyDTables_t dummyEntropyTables; - size_t headerSize; - dummyEntropyTables.hufTable[0] = (HUF_DTable)((HufLog)*0x1000001); - headerSize = ZSTD_loadDEntropy(&dummyEntropyTables, dictBuffer, dictSize); + { size_t headerSize; + ZSTD_entropyDTables_t* dummyEntropyTables = (ZSTD_entropyDTables_t*)malloc(sizeof(ZSTD_entropyDTables_t)); + dummyEntropyTables->hufTable[0] = (HUF_DTable)((HufLog)*0x1000001); + headerSize = ZSTD_loadDEntropy(dummyEntropyTables, dictBuffer, dictSize); + free(dummyEntropyTables); return ZSTD_isError(headerSize) ? 0 : headerSize; } } diff --git a/tests/fuzzer.c b/tests/fuzzer.c index 9be92471e..9a05daab7 100644 --- a/tests/fuzzer.c +++ b/tests/fuzzer.c @@ -1137,7 +1137,7 @@ static int basicUnitTests(U32 const seed, double compressibility) size_t* const samplesSizes = (size_t*) malloc(nbSamples * sizeof(size_t)); size_t dictSize; U32 dictID; - U32 dictHeaderSize; + size_t dictHeaderSize; if (dictBuffer==NULL || samplesSizes==NULL) { free(dictBuffer); -- 2.47.2