diff options
author | Mark Adler <madler@alumni.caltech.edu> | 2018-04-17 22:44:41 -0700 |
---|---|---|
committer | Mark Adler <madler@alumni.caltech.edu> | 2018-04-19 19:47:53 -0700 |
commit | 4346a16853e19b45787ce933666026903fb8f3f8 (patch) | |
tree | c5bd133a32c336f59d88965dceeac224346111f6 | |
parent | 5c44459c3b28a9bd3283aaceab7c615f8020c531 (diff) | |
download | zlib-4346a16853e19b45787ce933666026903fb8f3f8.tar.gz zlib-4346a16853e19b45787ce933666026903fb8f3f8.tar.bz2 zlib-4346a16853e19b45787ce933666026903fb8f3f8.zip |
Assure that the number of bits for deflatePrime() is valid.
-rw-r--r-- | deflate.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -589,7 +589,8 @@ int ZEXPORT deflatePrime (strm, bits, value) | |||
589 | 589 | ||
590 | if (deflateStateCheck(strm)) return Z_STREAM_ERROR; | 590 | if (deflateStateCheck(strm)) return Z_STREAM_ERROR; |
591 | s = strm->state; | 591 | s = strm->state; |
592 | if (s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) | 592 | if (bits < 0 || bits > 16 || |
593 | s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) | ||
593 | return Z_BUF_ERROR; | 594 | return Z_BUF_ERROR; |
594 | do { | 595 | do { |
595 | put = Buf_size - s->bi_valid; | 596 | put = Buf_size - s->bi_valid; |