bssgp_bvc_fsm: Handle block request from application correctly

This is no event from an incoming message so rx is NULL, and we can't send a
status PDU. Also blocking the signalling BVC is not allowed (unblocking it is already
forbidden).

Change-Id: I3e384b71d57e939efc1596ac1d92380ed5eb916d
Fixes: CID#215716
This commit is contained in:
Daniel Willmann 2021-01-07 14:46:28 +01:00 committed by laforge
parent 210774f60b
commit 09bea0152a
1 changed files with 4 additions and 1 deletions

View File

@ -456,7 +456,10 @@ static void bssgp_bvc_fsm_unblocked(struct osmo_fsm_inst *fi, uint32_t event, vo
case BSSGP_BVCFSM_E_REQ_BLOCK:
if (bfp->role_sgsn) {
LOGPFSML(fi, LOGL_ERROR, "SGSN may not initiate BVC-BLOCK\n");
_tx_status(fi, BSSGP_CAUSE_SEM_INCORR_PDU, rx);
break;
}
if (bfp->bvci == 0) {
LOGPFSML(fi, LOGL_ERROR, "BVCI 0 cannot be blocked\n");
break;
}
bfp->locally_blocked = true;