sgsn: Simplify finding/using the first address of the result

The loop was used to print all returned addresses but we can
simply pick the first one. This is fixing a coverity issue that
the loop will be executed eaxactly once (and that was on
purpose).

Simplify the code and just take the first element (which might
be NULL).

Fixes: Coverity CID#1302852
diff --git a/openbsc/src/gprs/gprs_gmm.c b/openbsc/src/gprs/gprs_gmm.c
index 04f75cf..0e75430 100644
--- a/openbsc/src/gprs/gprs_gmm.c
+++ b/openbsc/src/gprs/gprs_gmm.c
@@ -1658,7 +1658,6 @@
 	struct sgsn_ggsn_ctx *ggsn;
 	struct sgsn_ggsn_lookup *lookup = arg;
 	struct in_addr *addr = NULL;
-	int i;
 
 	/* The context is gone while we made a request */
 	if (!lookup->mmctx) {
@@ -1700,12 +1699,8 @@
 		goto reject_due_failure;
 	}
 
-	/* get the address */
-	for (i = 0, addr = (struct in_addr *) hostent->h_addr_list[i]; addr;
-		i++, addr = (struct in_addr *) hostent->h_addr_list[i]) {
-		break;
-	}
-
+	/* Get the first addr from the list */
+	addr = (struct in_addr *) hostent->h_addr_list[0];
 	if (!addr) {
 		LOGMMCTXP(LOGL_ERROR, lookup->mmctx, "No host address.\n");
 		goto reject_due_failure;