From ee770e5b5d9b91266177b0689f671e13d4eb087d Mon Sep 17 00:00:00 2001 From: Stefan Sperling Date: Tue, 5 Jun 2018 19:10:43 +0200 Subject: fix infinite recursion with routing by global title We don't implement routing by global title address. When processing an SCCP message which is routed by global title, don't recurs indefinitely until the stack is exhausted. Instead, return an error with cause SUBSYSTEM_FAILURE, which we also do in other routing failure cases. Change-Id: I24621e77ffc979bc337775f9c6a4ad9a9068625a Related: OS#2666 --- src/sccp_scrc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/sccp_scrc.c b/src/sccp_scrc.c index dca5645..cd01774 100644 --- a/src/sccp_scrc.c +++ b/src/sccp_scrc.c @@ -279,8 +279,15 @@ static int scrc_translate_node_9(struct osmo_sccp_instance *inst, translated.ri != OSMO_SCCP_RI_SSN_IP) { /* TODO: GT Routing */ LOGP(DLSCCP, LOGL_NOTICE, "GT Routing not implemented yet\n"); +#if 1 + /* Prevent endless recursion, see OS#2666. */ + sccp_sclc_rx_scrc_rout_fail(inst, xua, + SCCP_RETURN_CAUSE_SUBSYSTEM_FAILURE); + return 0; +#else /* Node 7 (Sheet 5) */ return scrc_node_7(inst, xua, called); +#endif } /* Check DPC resultant from GT translation */ -- cgit v1.2.3