Merged revisions 136063 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
r136063 | mmichelson | 2008-08-06 10:59:29 -0500 (Wed, 06 Aug 2008) | 24 lines

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/branches/1.6.0@136064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Mark Michelson 17 years ago
parent b4cb58175f
commit b9dfa2fe6c

@ -3762,9 +3762,7 @@ static int skinny_indicate(struct ast_channel *ast, int ind, const void *data, s
case AST_CONTROL_PROCEEDING:
break;
case AST_CONTROL_SRCUPDATE:
if (sub->rtp) {
ast_rtp_new_source(sub->rtp);
}
ast_rtp_new_source(sub->rtp);
break;
default:
ast_log(LOG_WARNING, "Don't know how to indicate condition %d\n", ind);

@ -2331,7 +2331,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;
}

Loading…
Cancel
Save