From 1fd2df9c2cfacb84fe7340842ea80b7e8a97cdc1 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Wed, 28 Jun 2017 09:57:59 -0700 Subject: [PATCH] fixed zstreamtest modifying compression parameters is not allowed after ZSTD_CCtx_loadDictionary() but it is still allowed after ZSTD_refPrefix() --- tests/zstreamtest.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/zstreamtest.c b/tests/zstreamtest.c index f6bb440ce..4c4479557 100644 --- a/tests/zstreamtest.c +++ b/tests/zstreamtest.c @@ -1311,13 +1311,14 @@ static int fuzzerTests_newAPI(U32 seed, U32 nbTests, unsigned startTest, double /* unconditionally set, to be sync with decoder */ if (FUZ_rand(&lseed) & 1) CHECK_Z( ZSTD_CCtx_setParameter(zc, ZSTD_p_refDictContent, FUZ_rand(&lseed) & 1) ); - if (FUZ_rand(&lseed) & 1) { CHECK_Z( ZSTD_CCtx_loadDictionary(zc, dict, dictSize) ); } - else { CHECK_Z( ZSTD_CCtx_refPrefix(zc, dict, dictSize) ); } - - if (dict && dictSize) { - /* test that compression parameters are correctly rejected after setting a dictionary */ - size_t const setError = ZSTD_CCtx_setParameter(zc, ZSTD_p_windowLog, cParams.windowLog-1) ; - CHECK(!ZSTD_isError(setError), "ZSTD_CCtx_setParameter should have failed"); + if (FUZ_rand(&lseed) & 1) { + CHECK_Z( ZSTD_CCtx_loadDictionary(zc, dict, dictSize) ); + if (dict && dictSize) { + /* test that compression parameters are rejected (correctly) after loading a non-NULL dictionary */ + size_t const setError = ZSTD_CCtx_setParameter(zc, ZSTD_p_windowLog, cParams.windowLog-1) ; + CHECK(!ZSTD_isError(setError), "ZSTD_CCtx_setParameter should have failed"); + } } else { + CHECK_Z( ZSTD_CCtx_refPrefix(zc, dict, dictSize) ); } /* mess with frame parameters */ -- 2.47.2