From b3970abc302edecc7edca4c368711732382b96b3 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Wed, 6 Aug 2008 15:59:29 +0000 Subject: Merged revisions 136062 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r136062 | mmichelson | 2008-08-06 10:58:40 -0500 (Wed, 06 Aug 2008) | 16 lines Since adding the AST_CONTROL_SRCUPDATE frame type, there are places where ast_rtp_new_source may be called where the tech_pvt of a channel may not yet have an rtp structure allocated. This caused a crash in chan_skinny, which was fixed earlier, but now the same crash has been reported against chan_h323 as well. It seems that the best solution is to modify ast_rtp_new_source to not attempt to set the marker bit if the rtp structure passed in is NULL. This change to ast_rtp_new_source also allows the removal of what is now a redundant pointer check from chan_skinny. (closes issue #13247) Reported by: pj ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136063 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/rtp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'main') diff --git a/main/rtp.c b/main/rtp.c index bc3db9b4b..6e15433ba 100644 --- a/main/rtp.c +++ b/main/rtp.c @@ -2537,7 +2537,9 @@ int ast_rtp_setqos(struct ast_rtp *rtp, int tos, int cos, char *desc) void ast_rtp_new_source(struct ast_rtp *rtp) { - rtp->set_marker_bit = 1; + if (rtp) { + rtp->set_marker_bit = 1; + } return; } -- cgit v1.2.3