diff --git a/programs/zstdcli.c b/programs/zstdcli.c index 1af5f26f..be620466 100644 --- a/programs/zstdcli.c +++ b/programs/zstdcli.c @@ -561,13 +561,15 @@ int main(int argCount, const char* argv[]) continue; } if (longCommandWArg(&argument, "--fast")) { - /* Parse optional window log */ + /* Parse optional acceleration factor */ if (*argument == '=') { U32 fastLevel; ++argument; fastLevel = readU32FromChar(&argument); if (fastLevel) { dictCLevel = cLevel = -(int)fastLevel; + } else { + CLEAN_RETURN(badusage(programName)); } } else if (*argument != 0) { /* Invalid character following --fast */ diff --git a/tests/playTests.sh b/tests/playTests.sh index 52d4dd0b..09a7377f 100755 --- a/tests/playTests.sh +++ b/tests/playTests.sh @@ -108,6 +108,7 @@ $ECHO "test : --fast aka negative compression levels" $ZSTD --fast -f tmp # == -1 $ZSTD --fast=3 -f tmp # == -3 $ZSTD --fast=200000 -f tmp # == no compression +! $ZSTD -c --fast=0 tmp > $INTOVOID # should fail $ECHO "test : too large numeric argument" $ZSTD --fast=9999999999 -f tmp && die "should have refused numeric value" $ECHO "test : compress to stdout" @@ -532,7 +533,7 @@ fi if [ $GZIPMODE -eq 1 ]; then ./datagen > tmp rm -f tmp.zst - $ZSTD --format=gzip --format=zstd -f tmp + $ZSTD --format=gzip --format=zstd -f tmp test -f tmp.zst fi @@ -637,11 +638,11 @@ $ECHO "\n===> suffix list test" ! $ZSTD -d tmp.abc 2> tmplg -if [ $GZIPMODE -ne 1 ]; then +if [ $GZIPMODE -ne 1 ]; then grep ".gz" tmplg > $INTOVOID && die "Unsupported suffix listed" fi -if [ $LZMAMODE -ne 1 ]; then +if [ $LZMAMODE -ne 1 ]; then grep ".lzma" tmplg > $INTOVOID && die "Unsupported suffix listed" grep ".xz" tmplg > $INTOVOID && die "Unsupported suffix listed" fi