diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2015-11-17 12:22:28 +0100 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2015-11-18 17:34:43 +0100 |
commit | 4034897038c6a0a9b9e14d1a0f8ce0e873045ac1 (patch) | |
tree | 653d599c765ae102275c6ce9514f8fab43083840 | |
parent | ad945b6aa7620bb9cc3b20835acb562ace15060a (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
-rw-r--r-- | openbsc/src/gprs/gtphub.c | 16 |
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; } |