From f558f01a819c98875b272ed54672f94e2d36e088 Mon Sep 17 00:00:00 2001
From: Jeff Peeler <jpeeler@digium.com>
Date: Thu, 10 Sep 2009 20:52:57 +0000
Subject: [PATCH] Fix crash during attended transfer over PRI.

The owner pointers in the sig_pri_chan structure were not getting updated
in dahdi_fixup.


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

diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index b78c6aa72e..c2b19fdc5e 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -6315,7 +6315,15 @@ static int dahdi_fixup(struct ast_channel *oldchan, struct ast_channel *newchan)
 
 	if (analog_lib_handles(p->sig, p->radio, p->oprmode)) {
 		analog_fixup(oldchan, newchan, p->sig_pvt);
+	} 
+#ifdef HAVE_PRI
+	else if (dahdi_sig_pri_lib_handles(p->sig)) {
+		struct sig_pri_chan *pchan = p->sig_pvt;
+		if (pchan->owner == oldchan) {
+			pchan->owner = newchan;
+		}
 	}
+#endif
 
 	update_conf(p);
 	ast_mutex_unlock(&p->lock);
-- 
GitLab