From: Yann Collet Date: Fri, 19 May 2017 18:04:41 +0000 (-0700) Subject: ZSTD_CCtx_setParameter() only works during initialization stage X-Git-Tag: v1.3.0~1^2~17^2~96 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=334a288d0dda5cc43a80311dabde5b990c685ca6;p=thirdparty%2Fzstd.git ZSTD_CCtx_setParameter() only works during initialization stage and generate a stage_wrong error otherwise. --- diff --git a/lib/compress/zstd_compress.c b/lib/compress/zstd_compress.c index 69b42cc80..a3d4ebe7f 100644 --- a/lib/compress/zstd_compress.c +++ b/lib/compress/zstd_compress.c @@ -223,7 +223,14 @@ static void ZSTD_cLevelToCParams(ZSTD_CCtx* cctx) size_t ZSTD_CCtx_setParameter(ZSTD_CCtx* cctx, ZSTD_cParameter param, unsigned value) { -# define CLAMPCHECK(val,min,max) { if ((valmax)) return ERROR(compressionParameter_unsupported); } +# define CLAMPCHECK(val,min,max) { \ + if ((valmax)) { \ + return ERROR(compressionParameter_unsupported); \ + } } + + if (cctx->streamStage != zcss_init) { + return ERROR(stage_wrong); + } switch(param) {