summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-08-13 22:45:40 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2012-05-02 19:24:30 +0200
commit126258ddd0b0a755097f417d3cdd53d979cc1be4 (patch)
tree108524b4bea9162193664eecc08ae18480537108
parent9ee4cf75e4f68b1adc4b00441fc06aa524fd85b0 (diff)
bsc: Crash fix for the osmo-nitb/MNCC code
It is possible that MNCC sends a MNCC_LCHAN_MODIFY and wants a channel mode that is not possible on the current lchan, in that case a new channel is assigned. We now crash as the osmo-nitb is not having an assignment complete handler, add a NULL check.
-rw-r--r--openbsc/src/libbsc/bsc_api.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/openbsc/src/libbsc/bsc_api.c b/openbsc/src/libbsc/bsc_api.c
index 53d811395..d2965a247 100644
--- a/openbsc/src/libbsc/bsc_api.c
+++ b/openbsc/src/libbsc/bsc_api.c
@@ -378,7 +378,8 @@ static void handle_ass_compl(struct gsm_subscriber_connection *conn,
if (is_ipaccess_bts(conn->bts) && conn->lchan->tch_mode != GSM48_CMODE_SIGN)
rsl_ipacc_crcx(conn->lchan);
- api->assign_compl(conn, gh->data[0],
+ if (api->assign_compl)
+ api->assign_compl(conn, gh->data[0],
lchan_to_chosen_channel(conn->lchan),
conn->lchan->encr.alg_id,
chan_mode_to_speech(conn->lchan));