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
diff --git a/openbsc/src/gprs/gtphub.c b/openbsc/src/gprs/gtphub.c
index e00d6cd..049e9f5 100644
--- a/openbsc/src/gprs/gtphub.c
+++ b/openbsc/src/gprs/gtphub.c
@@ -784,16 +784,16 @@
 	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 @@
 		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;
 }