aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-02-22 21:13:18 +0000
committerHarald Welte <laforge@gnumonks.org>2009-02-22 21:13:18 +0000
commit5a065dfe2d440a053e3cabba3f8526544e7ab468 (patch)
tree024da12509bf2bb84f32cbbe2a05ea7f70c937c5 /src
parent1ef983b076490d9430296022a9744907096c0671 (diff)
don't allow calls of a subscriber to himself
Diffstat (limited to 'src')
-rw-r--r--src/gsm_04_08.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gsm_04_08.c b/src/gsm_04_08.c
index 20741506c..01f103b83 100644
--- a/src/gsm_04_08.c
+++ b/src/gsm_04_08.c
@@ -1027,6 +1027,13 @@ static int gsm48_cc_rx_setup(struct msgb *msg)
return gsm48_tx_simple(msg->lchan, GSM48_PDISC_CC,
GSM48_MT_CC_RELEASE_COMPL);
}
+ if (called_subscr == msg->lchan->subscr) {
+ DEBUGP(DCC, "subscriber calling himself ?!?\n");
+ put_lchan(msg->lchan);
+ subscr_put(called_subscr);
+ return gsm48_tx_simple(msg->lchan, GSM48_PDISC_CC,
+ GSM48_MT_CC_RELEASE_COMPL);
+ }
subscr_get(msg->lchan->subscr);
call->called_subscr = called_subscr;