aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2020-09-11 21:26:23 +0200
committerlaforge <laforge@osmocom.org>2020-09-25 10:01:36 +0000
commit9194b33ec140a7d4a73c5a4c2fdf7cde6446bb5d (patch)
tree140e32b5cc31c29509c60049c8f069adc7b6399a
parent754def9c7d6127b2d07a047cb916e919ac5ef679 (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.c7
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 */