Author: mjordan Date: Mon Feb 16 15:29:23 2015 New Revision: 431879 URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=431879 Log: res/res_rtp_asterisk: Fix crash in debug from RTCP reports without report block
When RTCP debugging was enabled, an RTCP report without a report block would cause a crash. This was due to the verbose output not checking to see if the report_block pointer was NULl before dereferencing it. This patch adds the necessary check to prevent printing any verbose output if the far side hasn't provided us the information they should have. ASTERISK-24791 #close Reported by: JoshE Tested by: JoshE Modified: branches/13/res/res_rtp_asterisk.c Modified: branches/13/res/res_rtp_asterisk.c URL: http://svnview.digium.com/svn/asterisk/branches/13/res/res_rtp_asterisk.c?view=diff&rev=431879&r1=431878&r2=431879 ============================================================================== --- branches/13/res/res_rtp_asterisk.c (original) +++ branches/13/res/res_rtp_asterisk.c Mon Feb 16 15:29:23 2015 @@ -3056,14 +3056,16 @@ ast_verbose(" Sent packets: %u\n", rtcp_report->sender_information.packet_count); ast_verbose(" Sent octets: %u\n", rtcp_report->sender_information.octet_count); } - ast_verbose(" Report block:\n"); - ast_verbose(" Their SSRC: %u\n", report_block->source_ssrc); - ast_verbose(" Fraction lost: %d\n", report_block->lost_count.fraction); - ast_verbose(" Cumulative loss: %u\n", report_block->lost_count.packets); - ast_verbose(" Highest seq no: %u\n", report_block->highest_seq_no); - ast_verbose(" IA jitter: %.4f\n", (double)report_block->ia_jitter / rate); - ast_verbose(" Their last SR: %u\n", report_block->lsr); - ast_verbose(" DLSR: %4.4f (sec)\n\n", (double)(report_block->dlsr / 65536.0)); + if (report_block) { + ast_verbose(" Report block:\n"); + ast_verbose(" Their SSRC: %u\n", report_block->source_ssrc); + ast_verbose(" Fraction lost: %d\n", report_block->lost_count.fraction); + ast_verbose(" Cumulative loss: %u\n", report_block->lost_count.packets); + ast_verbose(" Highest seq no: %u\n", report_block->highest_seq_no); + ast_verbose(" IA jitter: %.4f\n", (double)report_block->ia_jitter / rate); + ast_verbose(" Their last SR: %u\n", report_block->lsr); + ast_verbose(" DLSR: %4.4f (sec)\n\n", (double)(report_block->dlsr / 65536.0)); + } } ast_rtp_instance_get_local_address(instance, &local_address); -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- svn-commits mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/svn-commits