diff options
author | Damien Wedhorn <voip@facts.com.au> | 2011-12-22 21:12:57 +0000 |
---|---|---|
committer | Damien Wedhorn <voip@facts.com.au> | 2011-12-22 21:12:57 +0000 |
commit | 48f9a8f66807c134133bcfa76884826e7763d970 (patch) | |
tree | eb00b031b5a67c11cd09995f017c05c8790578fa /channels | |
parent | cf0c9830bf320e8b6e589b7a53b75c1fd4a94bb5 (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.c | 8 |
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); |