aboutsummaryrefslogtreecommitdiff
path: root/deflate.c
diff options
context:
space:
mode:
authorMark Adler <madler@alumni.caltech.edu>2018-04-17 22:44:41 -0700
committerMark Adler <madler@alumni.caltech.edu>2018-04-19 19:47:53 -0700
commit4346a16853e19b45787ce933666026903fb8f3f8 (patch)
treec5bd133a32c336f59d88965dceeac224346111f6 /deflate.c
parent5c44459c3b28a9bd3283aaceab7c615f8020c531 (diff)
downloadzlib-4346a16853e19b45787ce933666026903fb8f3f8.tar.gz
zlib-4346a16853e19b45787ce933666026903fb8f3f8.tar.bz2
zlib-4346a16853e19b45787ce933666026903fb8f3f8.zip
Assure that the number of bits for deflatePrime() is valid.
Diffstat (limited to 'deflate.c')
-rw-r--r--deflate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/deflate.c b/deflate.c
index 19cba87..23aef18 100644
--- a/deflate.c
+++ b/deflate.c
@@ -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;