aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/nat/bsc_ussd.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/nat/bsc_ussd.c')
-rw-r--r--openbsc/src/nat/bsc_ussd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/openbsc/src/nat/bsc_ussd.c b/openbsc/src/nat/bsc_ussd.c
index 3729d91f3..f10a871ab 100644
--- a/openbsc/src/nat/bsc_ussd.c
+++ b/openbsc/src/nat/bsc_ussd.c
@@ -61,8 +61,11 @@ static struct bsc_nat_ussd_con *bsc_nat_ussd_alloc(struct bsc_nat *nat)
static void bsc_nat_ussd_destroy(struct bsc_nat_ussd_con *con)
{
- if (con->nat->ussd_con == con)
+ if (con->nat->ussd_con == con) {
+ bsc_close_ussd_connections(con->nat);
con->nat->ussd_con = NULL;
+ }
+
close(con->queue.bfd.fd);
bsc_unregister_fd(&con->queue.bfd);
bsc_del_timer(&con->auth_timeout);