mirror of
https://github.com/zeromq/libzmq.git
synced 2025-07-01 16:33:31 +02:00
Merge pull request #1991 from hitstergtd/x-testcov-zmq-2
Problem: zmq_poller_destroy can segfault
This commit is contained in:
commit
bd66cfe6f8
@ -1110,8 +1110,9 @@ void *zmq_poller_new (void)
|
|||||||
|
|
||||||
int zmq_poller_destroy (void **poller_p_)
|
int zmq_poller_destroy (void **poller_p_)
|
||||||
{
|
{
|
||||||
void *poller = *poller_p_;
|
void *poller;
|
||||||
if (!poller || !((zmq::socket_poller_t*) poller)->check_tag ()) {
|
if (!poller_p_ || !(poller = *poller_p_) ||
|
||||||
|
!((zmq::socket_poller_t*) poller)->check_tag ()) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -156,6 +156,14 @@ int main (void)
|
|||||||
rc = zmq_close (client);
|
rc = zmq_close (client);
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Test error - null poller pointers
|
||||||
|
rc = zmq_poller_destroy (NULL);
|
||||||
|
assert (rc == -1 && errno == EFAULT);
|
||||||
|
void *null_poller = NULL;
|
||||||
|
rc = zmq_poller_destroy (&null_poller);
|
||||||
|
assert (rc == -1 && errno == EFAULT);
|
||||||
|
|
||||||
rc = zmq_poller_destroy (&poller);
|
rc = zmq_poller_destroy (&poller);
|
||||||
assert(rc == 0);
|
assert(rc == 0);
|
||||||
rc = zmq_ctx_term (ctx);
|
rc = zmq_ctx_term (ctx);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user