mirror of
https://github.com/zeromq/libzmq.git
synced 2025-02-25 15:46:06 +01:00
Return EFAULT if required arguments are null
This commit is contained in:
parent
2f44faa7ce
commit
dc09da4569
42
src/zmq.cpp
42
src/zmq.cpp
@ -488,17 +488,29 @@ int zmq_recvmmsg (void *s_, iovec *a_, size_t *count_, int flags_)
|
||||
|
||||
int zmq_msg_init (zmq_msg_t *msg_)
|
||||
{
|
||||
if (!msg_) {
|
||||
errno = EFAULT;
|
||||
return -1;
|
||||
}
|
||||
return ((zmq::msg_t*) msg_)->init ();
|
||||
}
|
||||
|
||||
int zmq_msg_init_size (zmq_msg_t *msg_, size_t size_)
|
||||
{
|
||||
if (!msg_) {
|
||||
errno = EFAULT;
|
||||
return -1;
|
||||
}
|
||||
return ((zmq::msg_t*) msg_)->init_size (size_);
|
||||
}
|
||||
|
||||
int zmq_msg_init_data (zmq_msg_t *msg_, void *data_, size_t size_,
|
||||
zmq_free_fn *ffn_, void *hint_)
|
||||
{
|
||||
if (!msg_) {
|
||||
errno = EFAULT;
|
||||
return -1;
|
||||
}
|
||||
return ((zmq::msg_t*) msg_)->init_data (data_, size_, ffn_, hint_);
|
||||
}
|
||||
|
||||
@ -530,26 +542,46 @@ int zmq_msg_recv (zmq_msg_t *msg_, void *s_, int flags_)
|
||||
|
||||
int zmq_msg_close (zmq_msg_t *msg_)
|
||||
{
|
||||
if (!msg_) {
|
||||
errno = EFAULT;
|
||||
return -1;
|
||||
}
|
||||
return ((zmq::msg_t*) msg_)->close ();
|
||||
}
|
||||
|
||||
int zmq_msg_move (zmq_msg_t *dest_, zmq_msg_t *src_)
|
||||
{
|
||||
if (!dest_ || !src_) {
|
||||
errno = EFAULT;
|
||||
return -1;
|
||||
}
|
||||
return ((zmq::msg_t*) dest_)->move (*(zmq::msg_t*) src_);
|
||||
}
|
||||
|
||||
int zmq_msg_copy (zmq_msg_t *dest_, zmq_msg_t *src_)
|
||||
{
|
||||
if (!dest_ || !src_) {
|
||||
errno = EFAULT;
|
||||
return -1;
|
||||
}
|
||||
return ((zmq::msg_t*) dest_)->copy (*(zmq::msg_t*) src_);
|
||||
}
|
||||
|
||||
void *zmq_msg_data (zmq_msg_t *msg_)
|
||||
{
|
||||
if (!msg_) {
|
||||
errno = EFAULT;
|
||||
return NULL;
|
||||
}
|
||||
return ((zmq::msg_t*) msg_)->data ();
|
||||
}
|
||||
|
||||
size_t zmq_msg_size (zmq_msg_t *msg_)
|
||||
{
|
||||
if (!msg_) {
|
||||
errno = EFAULT;
|
||||
return -1;
|
||||
}
|
||||
return ((zmq::msg_t*) msg_)->size ();
|
||||
}
|
||||
|
||||
@ -601,6 +633,10 @@ int zmq_msg_set (zmq_msg_t *msg_, int option_, const void *optval_,
|
||||
|
||||
int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
|
||||
{
|
||||
if (!items_) {
|
||||
errno = EFAULT;
|
||||
return -1;
|
||||
}
|
||||
#if defined ZMQ_POLL_BASED_ON_POLL
|
||||
if (unlikely (nitems_ < 0)) {
|
||||
errno = EINVAL;
|
||||
@ -619,12 +655,6 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
|
||||
return usleep (timeout_ * 1000);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (!items_) {
|
||||
errno = EFAULT;
|
||||
return -1;
|
||||
}
|
||||
|
||||
zmq::clock_t clock;
|
||||
uint64_t now = 0;
|
||||
uint64_t end = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user