diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2020-09-11 21:26:23 +0200 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2020-09-25 10:01:36 +0000 |
commit | 9194b33ec140a7d4a73c5a4c2fdf7cde6446bb5d (patch) | |
tree | 140e32b5cc31c29509c60049c8f069adc7b6399a | |
parent | 754def9c7d6127b2d07a047cb916e919ac5ef679 (diff) |
gsm_04_08: check return code of osmo_mobile_identity_decode_from_l3()
The function gsm48_rx_cm_reest_req() is the only one where the return
code of osmo_mobile_identity_decode_from_l3() is not checked, lets check
it here too.
Change-Id: I37981205870b094b3a40a20197461208daa62698
Fixes: CID#211037
-rw-r--r-- | src/libmsc/gsm_04_08.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 6bd82d0e1..63790598d 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -825,7 +825,12 @@ int gsm48_rx_mm_serv_req(struct msc_a *msc_a, struct msgb *msg) static int gsm48_rx_cm_reest_req(struct msc_a *msc_a, struct msgb *msg) { struct osmo_mobile_identity mi; - osmo_mobile_identity_decode_from_l3(&mi, msg, false); + int rc = osmo_mobile_identity_decode_from_l3(&mi, msg, false); + if (rc) { + LOGP(DMM, LOGL_ERROR, "CM RE-ESTABLISH REQUEST: cannot decode Mobile Identity\n"); + return -EINVAL; + } + DEBUGP(DMM, "<- CM RE-ESTABLISH REQUEST %s\n", osmo_mobile_identity_to_str_c(OTC_SELECT, &mi)); /* we don't support CM call re-establishment */ |