X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=Brotli.xs;h=8de3dd525c6cf371c2fce2cde24096e05b7d829a;hb=9d6eec245de326a70986bd7098753569f6a1aa1e;hp=c4660198661c43425f6498c351733c26e82b4875;hpb=aaed23cfe7fa81d408dea0653bee3cbc908919b2;p=io-compress-brotli.git diff --git a/Brotli.xs b/Brotli.xs index c466019..8de3dd5 100644 --- a/Brotli.xs +++ b/Brotli.xs @@ -102,7 +102,10 @@ SV* bro(buffer, quality=BROTLI_DEFAULT_QUALITY, lgwin=BROTLI_DEFAULT_WINDOW) BROTLI_BOOL result; CODE: if( quality < BROTLI_MIN_QUALITY || quality > BROTLI_MAX_QUALITY ) { - croak("Invalid quality value"); + croak("Invalid quality value"); + } + if( lgwin < kBrotliMinWindowBits || lgwin > kBrotliMaxWindowBits ) { + croak("Invalid window value"); } decoded_buffer = (uint8_t*) SvPV(buffer, decoded_size); encoded_size = BrotliEncoderMaxCompressedSize(decoded_size); @@ -137,6 +140,9 @@ SV* BrotliEncoderSetWindow(state, window) SV* state U32 window CODE: + if( window < kBrotliMinWindowBits || window > kBrotliMaxWindowBits ) { + croak("Invalid window value"); + } if( BrotliEncoderSetParameter((BrotliEncoderState*) SvIV(state), BROTLI_PARAM_LGWIN, window) ) RETVAL = newSVuv(1); else @@ -149,7 +155,7 @@ SV* BrotliEncoderSetQuality(state, quality) U32 quality CODE: if( quality < BROTLI_MIN_QUALITY || quality > BROTLI_MAX_QUALITY ) { - croak("Invalid quality value"); + croak("Invalid quality value"); } if( BrotliEncoderSetParameter((BrotliEncoderState*) SvIV(state), BROTLI_PARAM_QUALITY, quality) ) RETVAL = newSVuv(1);