aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2015-11-17 12:22:28 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2015-11-18 17:34:43 +0100
commit4034897038c6a0a9b9e14d1a0f8ce0e873045ac1 (patch)
tree653d599c765ae102275c6ce9514f8fab43083840 /openbsc
parentad945b6aa7620bb9cc3b20835acb562ace15060a (diff)
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
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/gprs/gtphub.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/openbsc/src/gprs/gtphub.c b/openbsc/src/gprs/gtphub.c
index e00d6cd9c..049e9f516 100644
--- a/openbsc/src/gprs/gtphub.c
+++ b/openbsc/src/gprs/gtphub.c
@@ -784,16 +784,16 @@ static int gtphub_bind_start(struct gtphub_bind *b,
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. */
static int gtphub_read(const struct osmo_fd *from,
struct osmo_sockaddr *from_addr,
uint8_t *buf, size_t buf_len)
{
- /* recvfrom requires the available length set in *from_addr_len. */
- if (from_addr)
- from_addr->l = sizeof(from_addr->a);
+ OSMO_ASSERT(from_addr);
+ /* recvfrom requires the available length set in *from_addr_len. */
+ from_addr->l = sizeof(from_addr->a);
errno = 0;
ssize_t received = recvfrom(from->fd, buf, buf_len, 0,
(struct sockaddr*)&from_addr->a,
@@ -807,12 +807,10 @@ static int gtphub_read(const struct osmo_fd *from,
return 0;
}
- if (from_addr) {
- LOG(LOGL_DEBUG, "from %s\n", osmo_sockaddr_to_str(from_addr));
- }
+ LOG(LOGL_DEBUG, "Received %d bytes from %s\n%s\n",
+ (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;
}