From 485a1be9d8fc29d743767e733dfc6b16efa77a31 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 15 Aug 2017 23:25:21 +0200 Subject: Fix SCCP client crash on xUA server (STP) disconnect When the server (STP) disappears from a live SCCP client, then the xUA default layer manager receives LM_E_SCTP_DISC_IND, which is traversing retart_asp(). In there, we first terminate the current instance of the layer manager FSM, and then re-initialize the ASP to use the default layer manager using osmo_ss7_asp_use_default_lm(). However, osmo_ss7_asp_use_default_lm() uses the presence of an asp->lm_priv pointer as a sign that the old layer manager is still running and attempts to terminate it - despite being terminated just before in restart_as(). So let's simply remove the termination from restart_asp(), and leave it to osmo_ss7_asp_use_default_lm(). Fixes: OS#2402 Change-Id: I062d3af17539de864b56d079fe9b8d76ad99cf1e --- src/xua_default_lm_fsm.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/xua_default_lm_fsm.c b/src/xua_default_lm_fsm.c index 2a03cbc..64f26c3 100644 --- a/src/xua_default_lm_fsm.c +++ b/src/xua_default_lm_fsm.c @@ -126,7 +126,6 @@ static void restart_asp(struct osmo_fsm_inst *fi) int log_level = fi->log_level; osmo_ss7_asp_restart(asp); - osmo_fsm_inst_term(fi, OSMO_FSM_TERM_ERROR, NULL); osmo_ss7_asp_use_default_lm(asp, log_level); } -- cgit v1.2.3