summaryrefslogtreecommitdiff
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
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)
if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
s = strm->state;
- if (s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3))
+ if (bits < 0 || bits > 16 ||
+ s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3))
return Z_BUF_ERROR;
do {
put = Buf_size - s->bi_valid;