From: Paul Cruz Date: Thu, 22 Jun 2017 01:24:19 +0000 (-0700) Subject: malloc samples instead of static allocation X-Git-Tag: v1.3.0~1^2~15^2~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b6eedeace6060ff431752eb8800b88c97c60071;p=thirdparty%2Fzstd.git malloc samples instead of static allocation --- 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){