From 5ecdc56ad4a435d923fd3982769ac94b52f103a7 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Fri, 24 Feb 2017 06:38:04 +0100 Subject: fix: properly handle error rc by osmo_gsup_conn_ccm_get() Change-Id: I70e4a5e75dd596052e61df9a6ad52b7f56fb6b26 --- src/gsup_server.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gsup_server.c b/src/gsup_server.c index d431637..b0e1858 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -185,9 +185,15 @@ static int osmo_gsup_server_ccm_cb(struct ipa_server_conn *conn, osmo_tlvp_dump(tlvp, DLGSUP, LOGL_INFO); addr_len = osmo_gsup_conn_ccm_get(clnt, &addr, IPAC_IDTAG_SERNR); - if (addr_len) - gsup_route_add(clnt, addr, addr_len); + if (addr_len <= 0) { + LOGP(DLGSUP, LOGL_ERROR, "GSUP client %s:%u has no %s IE and" + " cannot be routed\n", + conn->addr, conn->port, + ipa_ccm_idtag_name(IPAC_IDTAG_SERNR)); + return -EINVAL; + } + gsup_route_add(clnt, addr, addr_len); return 0; } -- cgit v1.2.3