diff --git a/src/v2_decoder.cpp b/src/v2_decoder.cpp index 4523d6b0..5781d804 100644 --- a/src/v2_decoder.cpp +++ b/src/v2_decoder.cpp @@ -115,7 +115,8 @@ int zmq::v2_decoder_t::size_ready (uint64_t msg_size_, shared_message_memory_allocator &allocator = get_allocator (); if (unlikely (!_zero_copy - || msg_size_ > allocator.data () + allocator.size () - read_pos_ )) { + || msg_size_ > + (size_t)(allocator.data () + allocator.size () - read_pos_))) { // a new message has started, but the size would exceed the pre-allocated arena // this happens every time when a message does not fit completely into the buffer rc = _in_progress.init_size (static_cast (msg_size_));