aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gprs/sgsn_libgtp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gprs/sgsn_libgtp.c b/src/gprs/sgsn_libgtp.c
index 88b8d048a..79d5543f2 100644
--- a/src/gprs/sgsn_libgtp.c
+++ b/src/gprs/sgsn_libgtp.c
@@ -649,8 +649,9 @@ static int cb_delete_context(struct pdp_t *pdp)
LOGPDPX(DGPRS, LOGL_INFO, pdp, "Context %p was deleted\n", pdp);
- /* unlink the now non-existing library handle from the pdp
- * context */
+ /* unlink the now non-existing library handle from the pdp context.
+ This way we avoid calling pdp_freepdp() on it, since after returning
+ from cb_delete_context callback, libgtp is already doing so. */
pctx->lib = NULL;
sgsn_ggsn_ctx_drop_pdp(pctx);