diff options
-rw-r--r-- | src/common/compress_zlib.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/common/compress_zlib.c b/src/common/compress_zlib.c index d8200d5d3d..7e848d5192 100644 --- a/src/common/compress_zlib.c +++ b/src/common/compress_zlib.c @@ -213,8 +213,11 @@ tor_zlib_compress_process(tor_zlib_compress_state_t *state, { int err; tor_assert(state != NULL); - tor_assert(*in_len <= UINT_MAX); - tor_assert(*out_len <= UINT_MAX); + if (*in_len > UINT_MAX || + *out_len > UINT_MAX) { + return TOR_COMPRESS_ERROR; + } + state->stream.next_in = (unsigned char*) *in; state->stream.avail_in = (unsigned int)*in_len; state->stream.next_out = (unsigned char*) *out; |