diff options
Diffstat (limited to 'openbsc')
-rw-r--r-- | openbsc/src/chan_alloc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/openbsc/src/chan_alloc.c b/openbsc/src/chan_alloc.c index 40d655409..623069ff0 100644 --- a/openbsc/src/chan_alloc.c +++ b/openbsc/src/chan_alloc.c @@ -381,6 +381,11 @@ static void _lchan_handle_release(struct gsm_lchan *lchan) ++lchan->conn.use_count; gsm48_send_rr_release(lchan); --lchan->conn.use_count; + + /* avoid reentrancy */ + subscr_put(lchan->conn.subscr); + lchan->conn.subscr = NULL; + return; } /* spoofed? message */ |