mirror of
https://github.com/facebook/zstd.git
synced 2025-07-30 22:23:13 +03:00
ensure dependency for zlib wrapper
This commit is contained in:
@ -573,10 +573,10 @@ static size_t BMK_findMaxMem(U64 requiredMem)
|
||||
do {
|
||||
testmem = (BYTE*)malloc((size_t)requiredMem);
|
||||
requiredMem -= step;
|
||||
} while (!testmem);
|
||||
} while (!testmem && requiredMem); /* do not allocate zero bytes */
|
||||
|
||||
free(testmem);
|
||||
return (size_t)(requiredMem);
|
||||
return (size_t)(requiredMem+1); /* avoid zero */
|
||||
}
|
||||
|
||||
static void BMK_benchCLevel(void* srcBuffer, size_t benchedSize,
|
||||
@ -734,7 +734,7 @@ static void BMK_benchFileTable(const char** fileNamesTable, unsigned nbFiles,
|
||||
if ((U64)benchedSize > totalSizeToLoad) benchedSize = (size_t)totalSizeToLoad;
|
||||
if (benchedSize < totalSizeToLoad)
|
||||
DISPLAY("Not enough memory; testing %u MB only...\n", (U32)(benchedSize >> 20));
|
||||
srcBuffer = malloc(benchedSize);
|
||||
srcBuffer = malloc(benchedSize + !benchedSize);
|
||||
if (!srcBuffer) EXM_THROW(12, "not enough memory");
|
||||
|
||||
/* Load input buffer */
|
||||
|
@ -111,7 +111,7 @@ local gzFile gz_open(path, fd, mode)
|
||||
return NULL;
|
||||
|
||||
/* allocate gzFile structure to return */
|
||||
state = (gz_statep)(gz_state*)malloc(sizeof(gz_state));
|
||||
state.state = (gz_state*)malloc(sizeof(gz_state));
|
||||
if (state.state == NULL)
|
||||
return NULL;
|
||||
state.state->size = 0; /* no buffers allocated yet */
|
||||
@ -266,7 +266,7 @@ local gzFile gz_open(path, fd, mode)
|
||||
gz_reset(state);
|
||||
|
||||
/* return stream */
|
||||
return (gzFile)state.file;
|
||||
return state.file;
|
||||
}
|
||||
|
||||
/* -- see zlib.h -- */
|
||||
|
@ -6,6 +6,8 @@
|
||||
* For conditions of distribution and use, see http://www.zlib.net/zlib_license.html
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
#include "gzguts.h"
|
||||
|
||||
/* Local functions */
|
||||
@ -24,7 +26,7 @@ local int gz_init(state)
|
||||
z_streamp strm = &(state.state->strm);
|
||||
|
||||
/* allocate input buffer (double size for gzprintf) */
|
||||
state.state->in = (unsigned char *)malloc(state.state->want << 1);
|
||||
state.state->in = (unsigned char*)malloc(state.state->want << 1);
|
||||
if (state.state->in == NULL) {
|
||||
gz_error(state, Z_MEM_ERROR, "out of memory");
|
||||
return -1;
|
||||
@ -33,7 +35,7 @@ local int gz_init(state)
|
||||
/* only need output buffer and deflate state if compressing */
|
||||
if (!state.state->direct) {
|
||||
/* allocate output buffer */
|
||||
state.state->out = (unsigned char *)malloc(state.state->want);
|
||||
state.state->out = (unsigned char*)malloc(state.state->want);
|
||||
if (state.state->out == NULL) {
|
||||
free(state.state->in);
|
||||
gz_error(state, Z_MEM_ERROR, "out of memory");
|
||||
@ -284,6 +286,7 @@ z_size_t ZEXPORT gzfwrite(buf, size, nitems, file)
|
||||
gz_statep state;
|
||||
|
||||
/* get internal structure */
|
||||
assert(size != 0);
|
||||
if (file == NULL)
|
||||
return 0;
|
||||
state = (gz_statep)file;
|
||||
@ -294,7 +297,7 @@ z_size_t ZEXPORT gzfwrite(buf, size, nitems, file)
|
||||
|
||||
/* compute bytes to read -- error on overflow */
|
||||
len = nitems * size;
|
||||
if (size && len / size != nitems) {
|
||||
if (size && (len / size != nitems)) {
|
||||
gz_error(state, Z_STREAM_ERROR, "request does not fit in a size_t");
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user