diff --git a/src/socket_base.cpp b/src/socket_base.cpp index 0f22305d..f223a474 100644 --- a/src/socket_base.cpp +++ b/src/socket_base.cpp @@ -1011,7 +1011,8 @@ void zmq::socket_base_t::terminated (pipe_t *pipe_) xterminated (pipe_); // Remove pipe from inproc pipes - for (inprocs_t::iterator it = inprocs.begin(); it != inprocs.end(); ++it) { + inprocs_t::iterator it = inprocs.begin(); + while (it != inprocs.end()) { if (it->second == pipe_) { inprocs.erase(it++); } else {