diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/select.cpp | 4 | ||||
| -rw-r--r-- | src/zmq.cpp | 4 | 
2 files changed, 8 insertions, 0 deletions
| diff --git a/src/select.cpp b/src/select.cpp index 7345cbb..59eb83e 100644 --- a/src/select.cpp +++ b/src/select.cpp @@ -65,6 +65,10 @@ zmq::select_t::handle_t zmq::select_t::add_fd (fd_t fd_, i_poll_events *events_)      fd_entry_t entry = {fd_, events_};      fds.push_back (entry); +    //  Ensure we do not attempt to select () on more than FD_SETSIZE +    //  file descriptors. +    zmq_assert (fds.size () <= FD_SETSIZE); +      //  Start polling on errors.      FD_SET (fd_, &source_set_err); diff --git a/src/zmq.cpp b/src/zmq.cpp index 342a8a6..8b21d4b 100644 --- a/src/zmq.cpp +++ b/src/zmq.cpp @@ -530,6 +530,10 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)      zmq::fd_t maxfd = zmq::retired_fd;      zmq::fd_t notify_fd = zmq::retired_fd; +    //  Ensure we do not attempt to select () on more than FD_SETSIZE +    //  file descriptors. +    zmq_assert (nitems_ <= FD_SETSIZE); +      for (int i = 0; i != nitems_; i++) {          //  0MQ sockets. | 
