diff options
author | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2015-11-09 14:44:15 +0300 |
---|---|---|
committer | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2017-02-07 18:59:54 +0300 |
commit | e5e251c396a802cf53eb1716639ed128b6a470b7 (patch) | |
tree | 7b69f546e796d23191d577dae3d3d4c18698af65 /openbsc/src | |
parent | 991691f8df4c1fc14bd634ca06dfae9b51dd7d0f (diff) |
sup: fix handling update location result message
If LUR procedure timed out, we should just skip update location result message.
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/libmsc/gsm_sup.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/openbsc/src/libmsc/gsm_sup.c b/openbsc/src/libmsc/gsm_sup.c index e4dc7a9ca..f9edec352 100644 --- a/openbsc/src/libmsc/gsm_sup.c +++ b/openbsc/src/libmsc/gsm_sup.c @@ -259,6 +259,12 @@ static int subscr_handle_sup_upd_loc_res(struct gsm_subscriber *subscr, { uint8_t msisdn_lv[10]; + if (!subscr->group) { + LOGGSUBSCRP(LOGL_ERROR, subscr, + "Update location result was received, but LUR procedure timedout.\n"); + return -1; + } + if (gsup_msg->msisdn_enc) { if (gsup_msg->msisdn_enc_len > sizeof(msisdn_lv) - 1) { LOGP(DSUP, LOGL_ERROR, "MSISDN too long (%zu)\n", |