mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-17 08:34:00 +00:00
Problem: EFAULT is returned for bad file descriptors passed to zmq_poller_*_fd
Solution: Return EBADF instead
This commit is contained in:
parent
74303b08e6
commit
6a3c053a3e
@ -1270,7 +1270,7 @@ int zmq_poller_add_fd (void *poller_, int fd_, void *user_data_, short events_)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (fd_ == zmq::retired_fd) {
|
if (fd_ == zmq::retired_fd) {
|
||||||
errno = ENOTSOCK;
|
errno = EBADF;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1306,7 +1306,7 @@ int zmq_poller_modify_fd (void *poller_, int fd_, short events_)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (fd_ == zmq::retired_fd) {
|
if (fd_ == zmq::retired_fd) {
|
||||||
errno = ENOTSOCK;
|
errno = EBADF;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1341,7 +1341,7 @@ int zmq_poller_remove_fd (void *poller_, int fd_)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (fd_ == zmq::retired_fd) {
|
if (fd_ == zmq::retired_fd) {
|
||||||
errno = ENOTSOCK;
|
errno = EBADF;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,13 +121,13 @@ void test_null_socket_pointers ()
|
|||||||
fd_t null_socket_fd = retired_fd;
|
fd_t null_socket_fd = retired_fd;
|
||||||
|
|
||||||
rc = zmq_poller_add_fd (poller, null_socket_fd, NULL, ZMQ_POLLIN);
|
rc = zmq_poller_add_fd (poller, null_socket_fd, NULL, ZMQ_POLLIN);
|
||||||
assert (rc == -1 && errno == ENOTSOCK);
|
assert (rc == -1 && errno == EBADF);
|
||||||
|
|
||||||
rc = zmq_poller_modify_fd (poller, null_socket_fd, ZMQ_POLLIN);
|
rc = zmq_poller_modify_fd (poller, null_socket_fd, ZMQ_POLLIN);
|
||||||
assert (rc == -1 && errno == ENOTSOCK);
|
assert (rc == -1 && errno == EBADF);
|
||||||
|
|
||||||
rc = zmq_poller_remove_fd (poller, null_socket_fd);
|
rc = zmq_poller_remove_fd (poller, null_socket_fd);
|
||||||
assert (rc == -1 && errno == ENOTSOCK);
|
assert (rc == -1 && errno == EBADF);
|
||||||
|
|
||||||
rc = zmq_poller_destroy (&poller);
|
rc = zmq_poller_destroy (&poller);
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user