diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-04-19 21:37:48 +0800 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-04-19 22:15:32 +0800 |
commit | 1d34c6ac5af41c058ec76ee92c3045feed3fe9af (patch) | |
tree | c0200bafb97478166663d5aa9af7b7a074785a3f /openbsc/src/bsc_msc_ip.c | |
parent | 1506f8e46558b1f40aef942f67d2a6cbcda00b7b (diff) |
bsc_msc_ip: Crash fix on MO-Call starting with a SDCCH
We do not assing a GSM Subscriber to Mobile Originated calls, when
requesting a SDCCH and then starting call control we will crash here
due trying to copy a NULL subscriber from the lchan to the other.
We do not need to know the IMSI at the BSC so it is okay to not
copy the subscriber around, we could even kill all subscriber handling
in the future.
Diffstat (limited to 'openbsc/src/bsc_msc_ip.c')
-rw-r--r-- | openbsc/src/bsc_msc_ip.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/openbsc/src/bsc_msc_ip.c b/openbsc/src/bsc_msc_ip.c index d63041401..46796c192 100644 --- a/openbsc/src/bsc_msc_ip.c +++ b/openbsc/src/bsc_msc_ip.c @@ -372,7 +372,8 @@ static int handle_ass_compl(struct msgb *msg) old_chan->msc_data = NULL; /* give up the old channel to not do a SACCH deactivate */ - subscr_put(old_chan->conn.subscr); + if (old_chan->conn.subscr) + subscr_put(old_chan->conn.subscr); old_chan->conn.subscr = NULL; put_subscr_con(&old_chan->conn, 1); |