aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-08-04 11:37:30 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-08-04 13:16:24 +0200
commite398b39943c0fd0cd0d76f0a01509f885352ffc9 (patch)
treebffd18dfd92234c544a41d139fa947172786d0c9
parentdaaea0c84fee46d9b63b746d5ed2cdf66f990352 (diff)
subscr: Fix potential subscr ref count issue
In case the subscriber is currently busy we would omit the subscr_put. This seems to be very hard to hit as the subscr need to be active and at the same time be selected for the purge operation.
-rw-r--r--openbsc/src/libmsc/gsm_subscriber.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/openbsc/src/libmsc/gsm_subscriber.c b/openbsc/src/libmsc/gsm_subscriber.c
index 4559de581..085acb1d8 100644
--- a/openbsc/src/libmsc/gsm_subscriber.c
+++ b/openbsc/src/libmsc/gsm_subscriber.c
@@ -353,6 +353,7 @@ static void subscr_expire_callback(void *data, long long unsigned int id)
LOGP(DMM, LOGL_DEBUG, "Not expiring subscriber %s (ID %llu)\n",
subscr_name(s), id);
subscr_update_expire_lu(s, conn->bts);
+ subscr_put(s);
return;
}