aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openbsc/src/nat/bsc_mgcp_utils.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/openbsc/src/nat/bsc_mgcp_utils.c b/openbsc/src/nat/bsc_mgcp_utils.c
index 30a5a30f7..ab830e6e5 100644
--- a/openbsc/src/nat/bsc_mgcp_utils.c
+++ b/openbsc/src/nat/bsc_mgcp_utils.c
@@ -94,6 +94,7 @@ void bsc_mgcp_free_endpoints(struct bsc_nat *nat)
struct bsc_connection *bsc_mgcp_find_con(struct bsc_nat *nat, int endpoint)
{
+ struct bsc_connection *bsc = NULL;
struct sccp_connections *sccp;
llist_for_each_entry(sccp, &nat->sccp_connections, list_entry) {
@@ -102,9 +103,12 @@ struct bsc_connection *bsc_mgcp_find_con(struct bsc_nat *nat, int endpoint)
if (mgcp_timeslot_to_endpoint(0, sccp->msc_timeslot) != endpoint)
continue;
- return sccp->bsc;
+ bsc = sccp->bsc;
}
+ if (bsc)
+ return bsc;
+
LOGP(DMGCP, LOGL_ERROR, "Failed to find the connection.\n");
return NULL;
}