path: root/openbsc/src/libmsc
diff options
authorAndreas Eversberg <jolly@eversberg.eu>2013-03-11 08:20:48 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-08-17 16:21:24 +0200
commit93e795c1fdee782efa3856baf0abdc21fe3edc7f (patch)
tree44e0ed1f3d0c8e11d5951d24a57a6729a5410a4c /openbsc/src/libmsc
parent4c97435b3537cfe5a13e427b3d38ee591a686961 (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. This happens, if TCH traffic is received from upper layer, but there is no lchan available before completing immediate assignment, handover or assignment process. [hfreyther: The code has not been moved to tch_frame_down but the issue looks similiar]
Diffstat (limited to 'openbsc/src/libmsc')
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 02ffe580b..ff5d38d98 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -3005,6 +3005,10 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg)
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
&& trans->conn->lchan->type != GSM_LCHAN_TCH_H) {
/* This should be LOGL_ERROR or NOTICE, but