{
if (ZSTD_DCtx_isOverflow(zds, neededInBuffSize, neededOutBuffSize))
zds->oversizedDuration++;
- else
+ else
zds->oversizedDuration = 0;
}
{ int const tooSmall = (zds->inBuffSize < neededInBuffSize) || (zds->outBuffSize < neededOutBuffSize);
int const tooLarge = ZSTD_DCtx_isOversizedTooLong(zds);
-
+
if (tooSmall || tooLarge) {
size_t const bufferSize = neededInBuffSize + neededOutBuffSize;
DEBUGLOG(4, "inBuff : from %u to %u",
* Experimental parameter.
* Default is 0 == disabled. Set to 1 to enable
*
- * Tells the decompressor to skip checksum validation during decompression, regardless.
- * of whether or not checksumming was specified during decompression. This offers some
+ * Tells the decompressor to skip checksum validation during decompression, regardless
+ * of whether checksumming was specified during compression. This offers some
* slight performance benefits, and may be useful for debugging.
*/
#define ZSTD_d_forceIgnoreChecksum ZSTD_d_experimentalParam3
DISPLAYOUT( " -l : print information about zstd compressed files \n");
DISPLAYOUT( "--test : test compressed file integrity \n");
DISPLAYOUT( " -M# : Set a memory usage limit for decompression \n");
+ DISPLAYOUT( "--no-check : disable validation of checksums in compressed frame \n");
# if ZSTD_SPARSE_DEFAULT
DISPLAYOUT( "--[no-]sparse : sparse mode (default: enabled on file, disabled on stdout) \n");
# else
ZSTD_freeCCtx(cctx);
}
{ /* copy the compressed buffer and corrupt the checksum */
- char* corruptedChecksumCompressedBuffer = (char*)malloc(cSize);
- if (!corruptedChecksumCompressedBuffer) {
+ size_t r;
+ char* const corruptedChecksumCompressedBuffer = (char*)malloc(cSize);
+ ZSTD_DCtx* const dctx = ZSTD_createDCtx();
+ if (!corruptedChecksumCompressedBuffer || !dctx) {
DISPLAY("Not enough memory, aborting\n");
testResult = 1;
goto _end;
memcpy(corruptedChecksumCompressedBuffer, compressedBuffer, cSize);
corruptedChecksumCompressedBuffer[cSize-1] += 1;
- size_t r = ZSTD_decompress(decodedBuffer, CNBuffSize, corruptedChecksumCompressedBuffer, cSize);
+ r = ZSTD_decompress(decodedBuffer, CNBuffSize, corruptedChecksumCompressedBuffer, cSize);
if (!ZSTD_isError(r)) goto _output_error;
if (ZSTD_getErrorCode(r) != ZSTD_error_checksum_wrong) goto _output_error;
- ZSTD_DCtx* dctx = ZSTD_createDCtx(); assert(dctx != NULL);
CHECK_Z(ZSTD_DCtx_setForceIgnoreChecksum(dctx, ZSTD_d_ignoreChecksum));
r = ZSTD_decompressDCtx(dctx, decodedBuffer, CNBuffSize, corruptedChecksumCompressedBuffer, cSize);
if (ZSTD_isError(r)) goto _output_error;