summaryrefslogtreecommitdiffstats
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:14:08 +0200
commit3479a7ca55d650404a7066ef586e887bcaae2500 (patch)
tree18b6204f3c82313e0ef5f0bfc812e0039055ca86
parent8e969e17cefe0bb99ef4c15710f3a68906a38851 (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 442e84c4c..57c10cf7e 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;
}