From: Scott Griepentrog Date: Thu, 17 Sep 2015 18:09:56 +0000 (-0500) Subject: PJSIP: avoid crash when getting rtp peer X-Git-Tag: 13.6.0-rc1~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb6b5c684b8772ba008339a417725a208f72409e;p=thirdparty%2Fasterisk.git PJSIP: avoid crash when getting rtp peer Although unlikely, if the tech private is returned as a NULL, chan_pjsip_get_rtp_peer() would crash. ASTERISK-25323 Change-Id: Ie231369bfa7da926fb2b9fdaac228261a3152e6a --- diff --git a/channels/chan_pjsip.c b/channels/chan_pjsip.c index 49995a2f81..d7e291ddd1 100644 --- a/channels/chan_pjsip.c +++ b/channels/chan_pjsip.c @@ -160,10 +160,10 @@ static struct ast_sip_session_supplement chan_pjsip_ack_supplement = { static enum ast_rtp_glue_result chan_pjsip_get_rtp_peer(struct ast_channel *chan, struct ast_rtp_instance **instance) { struct ast_sip_channel_pvt *channel = ast_channel_tech_pvt(chan); - struct chan_pjsip_pvt *pvt = channel->pvt; + struct chan_pjsip_pvt *pvt; struct ast_sip_endpoint *endpoint; - if (!pvt || !channel->session || !pvt->media[SIP_MEDIA_AUDIO]->rtp) { + if (!channel || !channel->session || !(pvt = channel->pvt) || !pvt->media[SIP_MEDIA_AUDIO]->rtp) { return AST_RTP_GLUE_RESULT_FORBID; }