aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gprs/gprs_gmm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c
index 0fcf1bb66..718fc97f6 100644
--- a/src/gprs/gprs_gmm.c
+++ b/src/gprs/gprs_gmm.c
@@ -1741,6 +1741,11 @@ static int gsm48_rx_gmm_ra_upd_req(struct sgsn_mm_ctx *mmctx, struct msgb *msg,
"The MM context cannot be used, RA: %03d-%0*d-%d-%d\n",
mmctx->ra.mcc, mmctx->ra.mnc_3_digits, mmctx->ra.mnc,
mmctx->ra.lac, mmctx->ra.rac);
+ /* mmctx is set to NULL and gprs_llgmm_unassign(llme) will be
+ called below, let's make sure we don't keep dangling llme
+ pointers in mmctx (OS#3957). */
+ if (mmctx->ran_type == MM_CTX_T_GERAN_Gb)
+ OSMO_ASSERT(mmctx->gb.llme == NULL);
mmctx = NULL;
}