From 48f9a8f66807c134133bcfa76884826e7763d970 Mon Sep 17 00:00:00 2001
From: Damien Wedhorn <voip@facts.com.au>
Date: Thu, 22 Dec 2011 21:12:57 +0000
Subject: [PATCH] Fix segfault on answer.

Only update/change RTP source if RTP has already been started and
connected to the subchannel.



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

diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index f65d377cc7..896f38ebf8 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -4812,10 +4812,14 @@ static int skinny_indicate(struct ast_channel *ast, int ind, const void *data, s
 	case AST_CONTROL_PROCEEDING:
 		break;
 	case AST_CONTROL_SRCUPDATE:
-		ast_rtp_instance_update_source(sub->rtp);
+		if (sub->rtp) {
+			ast_rtp_instance_update_source(sub->rtp);
+		}
 		break;
 	case AST_CONTROL_SRCCHANGE:
-		ast_rtp_instance_change_source(sub->rtp);
+		if (sub->rtp) {
+			ast_rtp_instance_change_source(sub->rtp);
+		}
 		break;
 	case AST_CONTROL_CONNECTED_LINE:
 		update_connectedline(sub, data, datalen);
-- 
GitLab