From 463934753199be8743409d08cc9365f18286bc39 Mon Sep 17 00:00:00 2001
From: Matthew Fredrickson <creslin@digium.com>
Date: Wed, 11 Jun 2008 17:50:17 +0000
Subject: [PATCH] Make sure we hangup any calls we have and NULL out the
 ss7call value when we get a reset circuit message.  Fixes crash bug

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_zap.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index daeb7cf503..495791478d 100644
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -9456,11 +9456,18 @@ static void *ss7_linkset(void *data)
 				}
 				p = linkset->pvts[chanpos];
 				ast_mutex_lock(&p->lock);
+
 				p->inservice = 1;
 				p->remotelyblocked = 0;
 				dpc = p->dpc;
 				isup_set_call_dpc(e->rsc.call, dpc);
+				if (p->ss7call)
+					p->ss7call = NULL;
+				if (p->owner)
+					p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+
 				ast_mutex_unlock(&p->lock);
+
 				isup_rlc(ss7, e->rsc.call);
 				break;
 			case ISUP_EVENT_GRS:
-- 
GitLab