aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2023-12-12 22:42:17 +0700
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2023-12-12 22:42:18 +0700
commit9da6536312ae3de269da7fbfb29cf821e6fc5d11 (patch)
treee5a76e69a0d00236a57099352beb8283c2355373
parent5dee672e96bfedee7f27785421d69a005f8e7133 (diff)
vgcs_fsm: fix NULL pointer dereference in vgcs_call_fsm_busy()
Change-Id: I14ad41bfa1ab3455a6a175cfb05341ca12c8d73e Fixes: CID#322299
-rw-r--r--src/osmo-bsc/vgcs_fsm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/osmo-bsc/vgcs_fsm.c b/src/osmo-bsc/vgcs_fsm.c
index 37473c529..1f2bbefec 100644
--- a/src/osmo-bsc/vgcs_fsm.c
+++ b/src/osmo-bsc/vgcs_fsm.c
@@ -317,8 +317,10 @@ static void vgcs_call_fsm_busy(struct osmo_fsm_inst *fi, uint32_t event, void *d
break;
case VGCS_EV_MSC_DTAP:
LOG_CALL(conn, LOGL_DEBUG, "MSC sends DTAP message to talker.\n");
- if (!conn->vgcs_call.talker)
+ if (!conn->vgcs_call.talker) {
msgb_free(data);
+ break;
+ }
rc = osmo_fsm_inst_dispatch(conn->vgcs_call.talker->vgcs_chan.fi, VGCS_EV_MSC_DTAP, data);
if (rc < 0)
msgb_free(data);