From: George Joseph Date: Wed, 30 Jan 2019 19:25:55 +0000 (-0700) Subject: res_pjsip_sdp_rtp: Fix return code from apply_negotiated_sdp_stream X-Git-Tag: 15.7.2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e436aab179e6dd8a6ff9508289b7e081e5fdf032;p=thirdparty%2Fasterisk.git res_pjsip_sdp_rtp: Fix return code from apply_negotiated_sdp_stream apply_negotiated_sdp_stream was returning a "1" when no joint capabilities were found on an outgoing call instead of a "-1". This indicated to res_pjsip_session that the handler DID handle the sdp when in fact it didn't. Without the appropriate setup, a subsequent media frame coming in would have an invalid stream_num and cause a seg fault when the stream was attempted to be retrieved. apply_negotiated_sdp_stream now returns the correct "-1" and any media is now discarded before it reaches the core stream processing. ASTERISK-28260 Reported by: Sotiris Ganouris Change-Id: Ia095cb16b4862f2f6ad6d2d2a77453fa2542371f --- diff --git a/res/res_pjsip_sdp_rtp.c b/res/res_pjsip_sdp_rtp.c index e2067cc0f0..7f5a859503 100644 --- a/res/res_pjsip_sdp_rtp.c +++ b/res/res_pjsip_sdp_rtp.c @@ -1941,7 +1941,7 @@ static int apply_negotiated_sdp_stream(struct ast_sip_session *session, } if (set_caps(session, session_media, session_media_transport, remote_stream, 0, asterisk_stream)) { - return 1; + return -1; } /* Set the channel uniqueid on the RTP instance now that it is becoming active */