summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorDamien Wedhorn <voip@facts.com.au>2011-12-22 21:12:57 +0000
committerDamien Wedhorn <voip@facts.com.au>2011-12-22 21:12:57 +0000
commit48f9a8f66807c134133bcfa76884826e7763d970 (patch)
treeeb00b031b5a67c11cd09995f017c05c8790578fa /channels
parentcf0c9830bf320e8b6e589b7a53b75c1fd4a94bb5 (diff)
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
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_skinny.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index f65d377cc..896f38ebf 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);