Clean up local var pointers in mgcp_get_local_addr()

Change-Id: I12f1d38b70f97426318e948cd80f9efc2592d54b
diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c
index 41e6ffc..781bb44 100644
--- a/src/libosmo-mgcp/mgcp_network.c
+++ b/src/libosmo-mgcp/mgcp_network.c
@@ -89,13 +89,12 @@
  *  IP-Addresses are used as fallback. */
 int mgcp_get_local_addr(char *addr, struct mgcp_conn_rtp *conn)
 {
-
-	struct mgcp_endpoint *endp;
+	const struct mgcp_endpoint *endp = conn->conn->endp;
+	const struct mgcp_config *cfg = endp->trunk->cfg;
 	char ipbuf[INET6_ADDRSTRLEN];
 	int rc;
-	endp = conn->conn->endp;
 	bool rem_addr_set = osmo_sockaddr_is_any(&conn->end.addr) == 0;
-	char *bind_addr;
+	const char *bind_addr;
 
 	/* Osmux: No smart IP addresses allocation is supported yet. Simply
 	 * return the one set in VTY config: */
@@ -103,19 +102,19 @@
 		if (rem_addr_set) {
 			/* Match IP version with what was requested from remote: */
 			bind_addr = conn->end.addr.u.sa.sa_family == AF_INET6 ?
-				    conn->conn->endp->trunk->cfg->osmux_addr_v6 :
-				    conn->conn->endp->trunk->cfg->osmux_addr_v4;
+				    cfg->osmux_addr_v6 :
+				    cfg->osmux_addr_v4;
 		} else {
 			/* Choose any of the bind addresses, preferring v6 over v4 if available: */
-			bind_addr = conn->conn->endp->trunk->cfg->osmux_addr_v6;
+			bind_addr = cfg->osmux_addr_v6;
 			if (!bind_addr)
-				bind_addr = conn->conn->endp->trunk->cfg->osmux_addr_v4;
+				bind_addr = cfg->osmux_addr_v4;
 		}
 		if (!bind_addr) {
 			LOGPCONN(conn->conn, DOSMUX, LOGL_ERROR,
 				"Unable to locate local Osmux address, check your configuration! v4=%u v6=%u remote_known=%s\n",
-				!!conn->conn->endp->trunk->cfg->osmux_addr_v4,
-				!!conn->conn->endp->trunk->cfg->osmux_addr_v6,
+				!!cfg->osmux_addr_v4,
+				!!cfg->osmux_addr_v6,
 				rem_addr_set ? osmo_sockaddr_ntop(&conn->end.addr.u.sa, ipbuf) : "no");
 			return -1;
 		}
@@ -127,7 +126,7 @@
 	}
 
 	/* Try probing the local IP-Address */
-	if (endp->trunk->cfg->net_ports.bind_addr_probe && rem_addr_set) {
+	if (cfg->net_ports.bind_addr_probe && rem_addr_set) {
 		rc = osmo_sock_local_ip(addr, osmo_sockaddr_ntop(&conn->end.addr.u.sa, ipbuf));
 		if (rc < 0)
 			LOGPCONN(conn->conn, DRTP, LOGL_ERROR,
@@ -145,13 +144,13 @@
 		/* Check there is a bind IP for the RTP traffic configured,
 		 * if so, use that IP-Address */
 		bind_addr = conn->end.addr.u.sa.sa_family == AF_INET6 ?
-				endp->trunk->cfg->net_ports.bind_addr_v6 :
-				endp->trunk->cfg->net_ports.bind_addr_v4;
+				cfg->net_ports.bind_addr_v6 :
+				cfg->net_ports.bind_addr_v4;
 	} else {
 		/* Choose any of the bind addresses, preferring v6 over v4 */
-		bind_addr = endp->trunk->cfg->net_ports.bind_addr_v6;
+		bind_addr = cfg->net_ports.bind_addr_v6;
 		if (!strlen(bind_addr))
-			bind_addr = endp->trunk->cfg->net_ports.bind_addr_v4;
+			bind_addr = cfg->net_ports.bind_addr_v4;
 	}
 	if (strlen(bind_addr)) {
 		LOGPCONN(conn->conn, DRTP, LOGL_DEBUG,
@@ -161,7 +160,7 @@
 		/* No specific bind IP is configured for the RTP traffic, so
 		 * assume the IP where we listen for incoming MGCP messages
 		 * as bind IP */
-		bind_addr = endp->trunk->cfg->source_addr;
+		bind_addr = cfg->source_addr;
 		LOGPCONN(conn->conn, DRTP, LOGL_DEBUG,
 			"using mgcp bind ip as local rtp bind ip: %s\n", bind_addr);
 	}