allocate statically so we don't have to deal with freeing

This commit is contained in:
Paul Cruz 2017-06-20 15:31:54 -07:00
parent 43ffcdde40
commit ceb4f65620

View File

@ -1168,24 +1168,20 @@ static U32 generateFrame(U32 seed, frame_t* fr, dictInfo info)
static int genRandomDict(U32 dictID, U32 seed, size_t dictSize, BYTE* fullDict){ static int genRandomDict(U32 dictID, U32 seed, size_t dictSize, BYTE* fullDict){
/* allocate space for samples */ /* allocate space for samples */
unsigned const numSamples = 4; unsigned const numSamples = 4;
BYTE* const samples = malloc(5000*sizeof(BYTE)); BYTE samples[5000];
size_t* const sampleSizes = malloc(numSamples*sizeof(size_t)); size_t sampleSizes[4];
if (samples == NULL || sampleSizes == NULL) {
DISPLAY("Error: could not allocate space for samples.\n");
return 1;
}
/* generate samples */ /* generate samples */
{ {
unsigned i = 1; unsigned i = 1;
unsigned j = 0;
size_t currSize = 1; size_t currSize = 1;
BYTE* curr = samples;
while (i <= 4) { while (i <= 4) {
*(sampleSizes + i - 1) = currSize; sampleSizes[i - 1] = currSize;
{ {
size_t j; size_t k;
for (j = 0; j < currSize; j++) { for (k = 0; k < currSize; k++) {
*(curr++) = (BYTE)i; samples[j++] = (BYTE)i;
} }
} }
i++; i++;
@ -1220,8 +1216,6 @@ static int genRandomDict(U32 dictID, U32 seed, size_t dictSize, BYTE* fullDict){
samples, sampleSizes, numSamples, samples, sampleSizes, numSamples,
zdictParams); zdictParams);
free(samples);
free(sampleSizes);
if (ZDICT_isError(dictWriteSize)) { if (ZDICT_isError(dictWriteSize)) {
DISPLAY("Could not finalize dictionary: %s\n", ZDICT_getErrorName(dictWriteSize)); DISPLAY("Could not finalize dictionary: %s\n", ZDICT_getErrorName(dictWriteSize));
return 1; return 1;