gtphub: fix gtphub_read() semantics.
gtphub always wants to know the sender, hence make the from_addr pointer mandatory. Fixes two coverity complaints (1339766, 1339764). Sponsored-by: On-Waves ehi
This commit is contained in:
parent
ad945b6aa7
commit
4034897038
|
@ -784,16 +784,16 @@ static int gtphub_bind_start(struct gtphub_bind *b,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Recv datagram from from->fd, optionally write sender's address to *from_addr.
|
/* Recv datagram from from->fd, write sender's address to *from_addr.
|
||||||
* Return the number of bytes read, zero on error. */
|
* Return the number of bytes read, zero on error. */
|
||||||
static int gtphub_read(const struct osmo_fd *from,
|
static int gtphub_read(const struct osmo_fd *from,
|
||||||
struct osmo_sockaddr *from_addr,
|
struct osmo_sockaddr *from_addr,
|
||||||
uint8_t *buf, size_t buf_len)
|
uint8_t *buf, size_t buf_len)
|
||||||
{
|
{
|
||||||
/* recvfrom requires the available length set in *from_addr_len. */
|
OSMO_ASSERT(from_addr);
|
||||||
if (from_addr)
|
|
||||||
from_addr->l = sizeof(from_addr->a);
|
|
||||||
|
|
||||||
|
/* recvfrom requires the available length set in *from_addr_len. */
|
||||||
|
from_addr->l = sizeof(from_addr->a);
|
||||||
errno = 0;
|
errno = 0;
|
||||||
ssize_t received = recvfrom(from->fd, buf, buf_len, 0,
|
ssize_t received = recvfrom(from->fd, buf, buf_len, 0,
|
||||||
(struct sockaddr*)&from_addr->a,
|
(struct sockaddr*)&from_addr->a,
|
||||||
|
@ -807,12 +807,10 @@ static int gtphub_read(const struct osmo_fd *from,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (from_addr) {
|
LOG(LOGL_DEBUG, "Received %d bytes from %s\n%s\n",
|
||||||
LOG(LOGL_DEBUG, "from %s\n", osmo_sockaddr_to_str(from_addr));
|
(int)received, osmo_sockaddr_to_str(from_addr),
|
||||||
}
|
osmo_hexdump(buf, received));
|
||||||
|
|
||||||
LOG(LOGL_DEBUG, "Received %d %s\n",
|
|
||||||
(int)received, osmo_hexdump(buf, received));
|
|
||||||
return received;
|
return received;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue