From: Matthew Jordan Date: Tue, 22 Oct 2013 22:59:14 +0000 (+0000) Subject: res_rtp_asterisk: Fix crash when RTCP is not available during SSRC change X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f09702cb360a7180c4e059867ea6a5296bb30040;p=thirdparty%2Fasterisk.git res_rtp_asterisk: Fix crash when RTCP is not available during SSRC change In r400089, a patch was put in to correct erroneous RTCP statistic resets. Unfortunately, ast_rtp_read can be called on an RTP instance that does not have RTCP information. This patch prevents that crash by only resetting the statistics if we do actually have an RTCP instance. (issue AST-1174) (closes issue ASTERISK-22667) Reported by: John Bigelow ........ Merged revisions 401445 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/1.8.15@401448 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 5bbde81c4f..d41441e5b5 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -2264,8 +2264,10 @@ static struct ast_frame *ast_rtp_read(struct ast_rtp_instance *instance, int rtc rtp->rxcount = 0; rtp->cycles = 0; rtp->lastrxseqno = 0; - rtp->rtcp->expected_prior = 0; - rtp->rtcp->received_prior = 0; + if (rtp->rtcp) { + rtp->rtcp->expected_prior = 0; + rtp->rtcp->received_prior = 0; + } } rtp->rxssrc = ssrc;