From 106ba523c8fdb078e619c9ce869701d2743b8141 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Thu, 8 Aug 2019 02:00:54 +0200 Subject: [PATCH] vlr_lu_fsm: fix missing event for IMEISV Event VLR_ULA_E_ID_IMEISV is listed as permitted in VLR_ULA_S_WAIT_LU_COMPL, but is missing from the switch() on the incoming event. So, sending an IMEISV identity during the WAIT_LU_COMPL state would crash osmo-msc. When receiving an IMEISV, vlr_subscr_set_imeisv() in turn calls vlr_subscr_set_imei(), so as far as the lu_fsm is concerned, receiving an IMEISV is identical to receiving an IMEI, and it can continue to send a Check IMEI request to the HLR. Thus simply add VLR_ULA_E_ID_IMEISV to the VLR_ULA_E_ID_IMEI switch case. Change-Id: I11106cb108a4b1406ff9a8b8ff5761440a274dad --- src/libvlr/vlr_lu_fsm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libvlr/vlr_lu_fsm.c b/src/libvlr/vlr_lu_fsm.c index 87bf7a5f2..454709f44 100644 --- a/src/libvlr/vlr_lu_fsm.c +++ b/src/libvlr/vlr_lu_fsm.c @@ -1253,6 +1253,7 @@ static void lu_fsm_wait_lu_compl(struct osmo_fsm_inst *fi, uint32_t event, LU_COMPL_VLR_E_NEW_TMSI_ACK, NULL); break; case VLR_ULA_E_ID_IMEI: + case VLR_ULA_E_ID_IMEISV: /* Got the IMEI from ME, now send it to HLR */ vlr_subscr_tx_req_check_imei(lfp->vsub); break;