aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc/msc_vgcs.c
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2023-07-19 10:06:07 +0200
committerlaforge <laforge@osmocom.org>2023-07-21 11:16:16 +0000
commitb865c62d3365a46d2da764cbcd2038b7ed3488e9 (patch)
tree6bc4a8a8274367826a557a55d9086c3d608e9f44 /src/libmsc/msc_vgcs.c
parent33a433a56191cfa84cf52207fed38559fa1061a4 (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.c7
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. */