]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_sdp_rtp: Don't produce an invalid media stream with no formats.
authorJoshua Colp <jcolp@digium.com>
Thu, 28 Nov 2013 02:12:45 +0000 (02:12 +0000)
committerJoshua Colp <jcolp@digium.com>
Thu, 28 Nov 2013 02:12:45 +0000 (02:12 +0000)
Depending on configuration it was possible for a media stream to be
created without any media formats. The produced SDP would fail internal
validation and cause a crash.

The code will now no longer add media streams with no formats to the SDP,
allowing it to pass validation and work.

(closes issue ASTERISK-22858)
Reported by: Anthony Messina
........

Merged revisions 403223 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403224 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_pjsip_sdp_rtp.c

index 96aad281b8d55aa1e8b03a6fb1a840bbcc4e1f42..48658cc16cf7d9219136d05d99f3f3d59ddc167f 100644 (file)
@@ -983,6 +983,11 @@ static int create_outgoing_sdp_stream(struct ast_sip_session *session, struct as
                }
        }
 
+       /* If no formats were actually added to the media stream don't add it to the SDP */
+       if (!media->desc.fmt_count) {
+               return 1;
+       }
+
        /* If ptime is set add it as an attribute */
        if (min_packet_size) {
                snprintf(tmp, sizeof(tmp), "%d", min_packet_size);