diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2023-07-19 10:06:07 +0200 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2023-07-21 11:16:16 +0000 |
commit | b865c62d3365a46d2da764cbcd2038b7ed3488e9 (patch) | |
tree | 6bc4a8a8274367826a557a55d9086c3d608e9f44 /src/libmsc/msc_vgcs.c | |
parent | 33a433a56191cfa84cf52207fed38559fa1061a4 (diff) |
ASCI: Fix Null pointer dereference bug in gsm44068_bcc_gcc_trans_free()
Fixes: CID#322142
Change-Id: Iab0b66dfcfdb870eaec4611720ce3a5f2089bd21
Diffstat (limited to 'src/libmsc/msc_vgcs.c')
-rw-r--r-- | src/libmsc/msc_vgcs.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libmsc/msc_vgcs.c b/src/libmsc/msc_vgcs.c index ca1fa976b..39703086a 100644 --- a/src/libmsc/msc_vgcs.c +++ b/src/libmsc/msc_vgcs.c @@ -1531,12 +1531,11 @@ void gsm44068_bcc_gcc_trans_free(struct gsm_trans *trans) { struct vgcs_bss *bss, *bss2; - /* Change state. */ - osmo_fsm_inst_state_chg(trans->gcc.fi, VGCS_GCC_ST_N0_NULL, 0, 0); - /* Free FSM. */ - if (trans->gcc.fi) + if (trans->gcc.fi) { + osmo_fsm_inst_state_chg(trans->gcc.fi, VGCS_GCC_ST_N0_NULL, 0, 0); osmo_fsm_inst_term(trans->gcc.fi, OSMO_FSM_TERM_REGULAR, NULL); + } /* Remove relations to cells. * We must loop safe, because bss_clear() will detach every call control instance from list. */ |