diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2013-03-11 08:20:48 +0100 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2013-07-29 12:39:38 +0200 |
commit | 8e67fa458d5717e44695f140519bc6f2cecff855 (patch) | |
tree | 02786e68cb93da7276e5a9075fa9dd0e921cd208 | |
parent | 72e6e17c941d641c186d5c751efc78d2e7d396ec (diff) |
Add check for non existing lchan at tch_frame_down()
Traffic cannot sent to BTS, if there is (currently) no logical channel
associated with the transaction.
-rw-r--r-- | openbsc/src/libmsc/gsm_04_08.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c index 45d132e1b..b9b84e76a 100644 --- a/openbsc/src/libmsc/gsm_04_08.c +++ b/openbsc/src/libmsc/gsm_04_08.c @@ -1772,6 +1772,10 @@ int tch_frame_down(struct gsm_network *net, uint32_t callref, struct gsm_data_fr LOGP(DMNCC, LOGL_NOTICE, "TCH frame for trans without conn\n"); return 0; } + if (!trans->conn->lchan) { + LOGP(DMNCC, LOGL_NOTICE, "TCH frame for trans without lchan\n"); + return 0; + } if (trans->conn->lchan->type != GSM_LCHAN_TCH_F) { /* This should be LOGL_ERROR or NOTICE, but * unfortuantely it happens for a couple of frames at |