From 3ddd7422ea50864bf14c3475f5305e1aef899ceb Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Sat, 18 Nov 2017 23:25:41 +0100 Subject: subscr_conn: don't close after conn timeout If dispatching a conn timeout, the conn fsm will already have been discarded, and we cannot fire any more events to it. The expected test output changes illustrate that we are now omitting event dispatches that happen *after* the same FSM was already deallocated. Change-Id: I25af3e5a1b04e3a5c9f41956cbcbbdd8439c6457 --- src/libmsc/subscr_conn.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/libmsc/subscr_conn.c') diff --git a/src/libmsc/subscr_conn.c b/src/libmsc/subscr_conn.c index 336637cee..62b76195a 100644 --- a/src/libmsc/subscr_conn.c +++ b/src/libmsc/subscr_conn.c @@ -233,7 +233,8 @@ int subscr_conn_fsm_timeout(struct osmo_fsm_inst *fi) struct gsm_subscriber_connection *conn = fi->priv; if (conn) vlr_subscr_conn_timeout(conn->vsub); - osmo_fsm_inst_dispatch(fi, SUBSCR_CONN_E_CN_CLOSE, NULL); + else + osmo_fsm_inst_dispatch(fi, SUBSCR_CONN_E_CN_CLOSE, NULL); return 0; } -- cgit v1.2.3