From c6a44bbab90bfc67ffcf6b5057197fff3b733bdc Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Wed, 28 Sep 2016 13:44:39 +0200 Subject: [PATCH] fix: send SNDCP XID only on GERAN Gb contexts Add a condition for GERAN Gb. SNDCP and IuPS were developed on separate branches, and the merge results in code trying to use an llme on a UTRAN Iu context where the llme is NULL, leading to stack corruption upon PDP ctx act. Change-Id: Ibb20d738c1b64d36630ce8eceb54c33ba4f1b003 --- openbsc/src/gprs/sgsn_libgtp.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/openbsc/src/gprs/sgsn_libgtp.c b/openbsc/src/gprs/sgsn_libgtp.c index 127ee30ba..29c9f066a 100644 --- a/openbsc/src/gprs/sgsn_libgtp.c +++ b/openbsc/src/gprs/sgsn_libgtp.c @@ -331,11 +331,13 @@ static int send_act_pdp_cont_acc(struct sgsn_pdp_ctx *pctx) if (rc < 0) return rc; - /* Send SNDCP XID to MS */ - lle = &pctx->mm->gb.llme->lle[pctx->sapi]; - rc = sndcp_sn_xid_req(lle,pctx->nsapi); - if (rc < 0) - return rc; + if (pctx->mm->ran_type == MM_CTX_T_GERAN_Gb) { + /* Send SNDCP XID to MS */ + lle = &pctx->mm->gb.llme->lle[pctx->sapi]; + rc = sndcp_sn_xid_req(lle,pctx->nsapi); + if (rc < 0) + return rc; + } return 0; }