diff options
author | Yann Collet <yann.collet.73@gmail.com> | 2015-03-15 00:42:27 (GMT) |
---|---|---|
committer | Yann Collet <yann.collet.73@gmail.com> | 2015-03-15 00:42:27 (GMT) |
commit | 45b0642bf54718d2b57dd61cb606b154afc0ab26 (patch) | |
tree | f5321a260b8491e9f233166402b92f8c4ff68fb0 /programs/bench.c | |
parent | a18fb4392a9f249528a4071a5583e17668d92872 (diff) | |
download | lz4-45b0642bf54718d2b57dd61cb606b154afc0ab26.zip lz4-45b0642bf54718d2b57dd61cb606b154afc0ab26.tar.gz lz4-45b0642bf54718d2b57dd61cb606b154afc0ab26.tar.bz2 |
scan-build tests
Diffstat (limited to 'programs/bench.c')
-rw-r--r-- | programs/bench.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/programs/bench.c b/programs/bench.c index b632314..f0a27ef 100644 --- a/programs/bench.c +++ b/programs/bench.c @@ -207,12 +207,17 @@ static size_t BMK_findMaxMem(U64 requiredMem) while (!testmem) { - requiredMem -= step; + if (requiredMem > step) requiredMem -= step; + else requiredMem >>= 1; testmem = (BYTE*) malloc ((size_t)requiredMem); } - free (testmem); - return (size_t) (requiredMem - step); + + /* keep some space available */ + if (requiredMem > step) requiredMem -= step; + else requiredMem >>= 1; + + return (size_t)requiredMem; } @@ -287,7 +292,9 @@ int BMK_benchFiles(const char** fileNamesTable, int nbFiles, int cLevel) /* Memory allocation & restrictions */ inFileSize = BMK_GetFileSize(inFileName); + if (inFileSize==0) { DISPLAY( "file is empty\n"); return 11; } benchedSize = (size_t) BMK_findMaxMem(inFileSize * 2) / 2; + if (benchedSize==0) { DISPLAY( "not enough memory\n"); return 11; } if ((U64)benchedSize > inFileSize) benchedSize = (size_t)inFileSize; if (benchedSize < inFileSize) { @@ -296,11 +303,11 @@ int BMK_benchFiles(const char** fileNamesTable, int nbFiles, int cLevel) /* Alloc */ chunkP = (struct chunkParameters*) malloc(((benchedSize / (size_t)chunkSize)+1) * sizeof(struct chunkParameters)); - orig_buff = (char*)malloc((size_t )benchedSize); + orig_buff = (char*)malloc((size_t)benchedSize); nbChunks = (int) ((int)benchedSize / chunkSize) + 1; maxCompressedChunkSize = LZ4_compressBound(chunkSize); compressedBuffSize = nbChunks * maxCompressedChunkSize; - compressedBuffer = (char*)malloc((size_t )compressedBuffSize); + compressedBuffer = (char*)malloc((size_t)compressedBuffSize); if (!orig_buff || !compressedBuffer) |