Fix segfault on answer.
authorDamien Wedhorn <voip@facts.com.au>
Thu, 22 Dec 2011 21:12:57 +0000 (21:12 +0000)
committerDamien Wedhorn <voip@facts.com.au>
Thu, 22 Dec 2011 21:12:57 +0000 (21:12 +0000)
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

index f65d377..896f38e 100644 (file)
@@ -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);