fixed read error
diff --git a/lib/zstd_compress.c b/lib/zstd_compress.c
index e66fedb..399f811 100644
--- a/lib/zstd_compress.c
+++ b/lib/zstd_compress.c
@@ -1797,6 +1797,7 @@
static size_t ZSTD_compressBlock_internal(ZSTD_CCtx* zc, void* dst, size_t maxDstSize, const void* src, size_t srcSize)
{
ZSTD_blockCompressor blockCompressor = ZSTD_selectBlockCompressor(zc->params.strategy, zc->lowLimit < zc->dictLimit);
+ if (srcSize < MIN_CBLOCK_SIZE+3) return 0; /* don't even attempt compression below a certain srcSize */
return blockCompressor(zc, dst, maxDstSize, src, srcSize);
}
@@ -1832,6 +1833,7 @@
if (cSize == 0)
{
cSize = ZSTD_noCompressBlock(op, maxDstSize, ip, blockSize); /* block is not compressible */
+ if (ZSTD_isError(cSize)) return cSize;
}
else
{
@@ -1928,7 +1930,6 @@
size_t ZSTD_compressBlock(ZSTD_CCtx* zc, void* dst, size_t maxDstSize, const void* src, size_t srcSize)
{
if (srcSize > BLOCKSIZE) return ERROR(srcSize_wrong);
- if (srcSize < MIN_CBLOCK_SIZE+3) return 0; /* don't even attempt compression below a certain srcSize */
return ZSTD_compressContinue_internal(zc, dst, maxDstSize, src, srcSize, 0);
}