From: Joshua Colp Date: Thu, 22 Jan 2009 20:02:35 +0000 (+0000) Subject: Don't crash if RTCP is not enabled on an RTP structure but statistics are output. X-Git-Tag: 1.4.24-rc1~119 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3ff70ed0001b460105ee67f559ee9c1ee39de066;p=thirdparty%2Fasterisk.git Don't crash if RTCP is not enabled on an RTP structure but statistics are output. (closes issue #14234) Reported by: jcovert Patches: rtp.c.patch-1.6.0.3 uploaded by jcovert (license 551) rtp.c.patch-svn-165599 uploaded by jcovert (license 551) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@170239 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/rtp.c b/main/rtp.c index 28fcad75fa..5165ade83c 100644 --- a/main/rtp.c +++ b/main/rtp.c @@ -2134,17 +2134,17 @@ void ast_rtp_destroy(struct ast_rtp *rtp) ast_verbose("* Our Receiver:\n"); ast_verbose(" SSRC: %u\n", rtp->themssrc); ast_verbose(" Received packets: %u\n", rtp->rxcount); - ast_verbose(" Lost packets: %u\n", rtp->rtcp->expected_prior - rtp->rtcp->received_prior); + ast_verbose(" Lost packets: %u\n", rtp->rtcp ? (rtp->rtcp->expected_prior - rtp->rtcp->received_prior) : 0); ast_verbose(" Jitter: %.4f\n", rtp->rxjitter); ast_verbose(" Transit: %.4f\n", rtp->rxtransit); - ast_verbose(" RR-count: %u\n", rtp->rtcp->rr_count); + ast_verbose(" RR-count: %u\n", rtp->rtcp ? rtp->rtcp->rr_count : 0); ast_verbose("* Our Sender:\n"); ast_verbose(" SSRC: %u\n", rtp->ssrc); ast_verbose(" Sent packets: %u\n", rtp->txcount); - ast_verbose(" Lost packets: %u\n", rtp->rtcp->reported_lost); - ast_verbose(" Jitter: %u\n", rtp->rtcp->reported_jitter / (unsigned int)65536.0); - ast_verbose(" SR-count: %u\n", rtp->rtcp->sr_count); - ast_verbose(" RTT: %f\n", rtp->rtcp->rtt); + ast_verbose(" Lost packets: %u\n", rtp->rtcp ? rtp->rtcp->reported_lost : 0); + ast_verbose(" Jitter: %u\n", rtp->rtcp ? (rtp->rtcp->reported_jitter / (unsigned int)65536.0) : 0); + ast_verbose(" SR-count: %u\n", rtp->rtcp ? rtp->rtcp->sr_count : 0); + ast_verbose(" RTT: %f\n", rtp->rtcp ? rtp->rtcp->rtt : 0); } if (rtp->smoother)