[asterisk-commits] kmoore: branch 12 r414948 - /branches/12/res/res_pjsip_refer.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri May 30 09:46:38 CDT 2014
Author: kmoore
Date: Fri May 30 09:46:32 2014
New Revision: 414948
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=414948
Log:
PJSIP: Prevent crash on blind transfer
Blind transfers don't go too well with NULL channels which can occur if
the channel has already been transferred away.
(closes issue ASTERISK-23718)
Reported by: Jonathan Rose
Modified:
branches/12/res/res_pjsip_refer.c
Modified: branches/12/res/res_pjsip_refer.c
URL: http://svnview.digium.com/svn/asterisk/branches/12/res/res_pjsip_refer.c?view=diff&rev=414948&r1=414947&r2=414948
==============================================================================
--- branches/12/res/res_pjsip_refer.c (original)
+++ branches/12/res/res_pjsip_refer.c Fri May 30 09:46:32 2014
@@ -692,11 +692,16 @@
static int refer_incoming_blind_request(struct ast_sip_session *session, pjsip_rx_data *rdata, pjsip_sip_uri *target,
struct refer_progress *progress)
{
- const char *context = (session->channel ? pbx_builtin_getvar_helper(session->channel, "TRANSFER_CONTEXT") : "");
+ const char *context;
char exten[AST_MAX_EXTENSION];
struct refer_blind refer = { 0, };
+ if (!session->channel) {
+ return 404;
+ }
+
/* If no explicit transfer context has been provided use their configured context */
+ context = pbx_builtin_getvar_helper(session->channel, "TRANSFER_CONTEXT");
if (ast_strlen_zero(context)) {
context = session->endpoint->context;
}
More information about the asterisk-commits
mailing list