catch GSUP auth result without auth_fsm

When a vlr_subscr receives an Send Auth Info result, properly check whether the
subscriber has an auth_fsm.

Before, a missing auth_fsm would crash osmo-msc with:

    vlr.c:762 Trying to dispatch event 1 to non-existent FSM instance!

Related: OS#4191
Change-Id: I1995d8f68cfde1140968fb9a97bd054de950de2e
This commit is contained in:
Neels Hofmeyr 2019-09-16 18:07:54 +02:00 committed by neels
parent 002fb01faa
commit 1bfe0e1cd1
1 changed files with 6 additions and 0 deletions

View File

@ -757,6 +757,12 @@ static int vlr_subscr_handle_sai_res(struct vlr_subscr *vsub,
struct osmo_fsm_inst *auth_fi = vsub->auth_fsm;
void *data = (void *) gsup;
if (!auth_fi) {
LOGVSUBP(LOGL_ERROR, vsub, "Received GSUP %s, but there is no auth_fsm\n",
osmo_gsup_message_type_name(gsup->message_type));
return -1;
}
switch (gsup->message_type) {
case OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT:
osmo_fsm_inst_dispatch(auth_fi, VLR_AUTH_E_HLR_SAI_ACK, data);