From 0b6eedeace6060ff431752eb8800b88c97c60071 Mon Sep 17 00:00:00 2001 From: Paul Cruz Date: Wed, 21 Jun 2017 18:24:19 -0700 Subject: [PATCH] malloc samples instead of static allocation --- tests/decodecorpus.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/decodecorpus.c b/tests/decodecorpus.c index 64185a13b..5608e7de0 100644 --- a/tests/decodecorpus.c +++ b/tests/decodecorpus.c @@ -1173,9 +1173,14 @@ static U32 generateFrame(U32 seed, frame_t* fr, dictInfo info) /* returns 0 if successful, otherwise returns 1 upon error */ static int genRandomDict(U32 dictID, U32 seed, size_t dictSize, BYTE* fullDict){ /* allocate space for samples */ + int ret = 0; unsigned const numSamples = 4; - BYTE samples[5000]; size_t sampleSizes[4]; + BYTE* const samples = malloc(5000); + if (samples == NULL) { + DISPLAY("Error: could not allocate space for samples\n"); + return 1; + } /* generate samples */ { @@ -1205,7 +1210,8 @@ static int genRandomDict(U32 dictID, U32 seed, size_t dictSize, BYTE* fullDict){ BYTE* const dictContent = fullDict + headerSize; if (dictContentSize < ZDICT_CONTENTSIZE_MIN || dictSize < ZDICT_DICTSIZE_MIN) { DISPLAY("Error: dictionary size is too small\n"); - return 1; + ret = 1; + goto exitGenRandomDict; } /* init dictionary params */ @@ -1224,11 +1230,13 @@ static int genRandomDict(U32 dictID, U32 seed, size_t dictSize, BYTE* fullDict){ if (ZDICT_isError(dictWriteSize)) { DISPLAY("Could not finalize dictionary: %s\n", ZDICT_getErrorName(dictWriteSize)); - return 1; + ret = 1; } } - return 0; +exitGenRandomDict: + free(samples); + return ret; } static dictInfo initDictInfo(int useDict, size_t dictContentSize, BYTE* dictContent, U32 dictID){