summaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc/gsm_subscriber.c
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-08 20:46:49 +0200
commit815945550685249aa002ef55b9ef990faa10ee0e (patch)
tree98c901774ae6aaa8ed72399596bad9ef33fc3b11 /openbsc/src/libmsc/gsm_subscriber.c
parente019b564eccaf63ca372db6811dfa3dd6c4d9084 (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.
Diffstat (limited to 'openbsc/src/libmsc/gsm_subscriber.c')
-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;
}