aboutsummaryrefslogtreecommitdiff
path: root/src/net/zmq.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/zmq.cpp')
-rw-r--r--src/net/zmq.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/net/zmq.cpp b/src/net/zmq.cpp
index 2b3ca8376..4a9d3e162 100644
--- a/src/net/zmq.cpp
+++ b/src/net/zmq.cpp
@@ -150,6 +150,12 @@ namespace zmq
if ((last = zmq_msg_recv(part.handle(), socket, flags)) < 0)
return last;
+ if (max_message_size < payload.size() ||
+ max_message_size - payload.size() < part.size())
+ {
+ errno = EMSGSIZE;
+ return -1;
+ }
payload.append(part.data(), part.size());
if (!zmq_msg_more(part.handle()))
break;