From: Kevin Harwell Date: Thu, 30 Oct 2014 21:14:01 +0000 (+0000) Subject: res_pjsip_exten_state: PJSIPShowSubscriptionsInbound causes crash X-Git-Tag: 14.0.0-beta1~1511 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a537e314d1875dbc4af0a16ae6cbcde9fe18fa21;p=thirdparty%2Fasterisk.git res_pjsip_exten_state: PJSIPShowSubscriptionsInbound causes crash Currently, it is possible for some subscriptions to get into a NULL state. When this occurs and the PJSIPShowSubscriptionsInbound ami action is issued and a device is subscribed for extension state then the associated subscription state object can't be located. The code then attempts to dereference a NULL object. Added a NULL check to avoid the problem. Reported by: John Bigelow ........ Merged revisions 426779 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 426780 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@426781 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_pjsip_exten_state.c b/res/res_pjsip_exten_state.c index 6b8ee6c12f..332f45b3ac 100644 --- a/res/res_pjsip_exten_state.c +++ b/res/res_pjsip_exten_state.c @@ -457,6 +457,10 @@ static void to_ami(struct ast_sip_subscription *sub, struct exten_state_subscription *exten_state_sub = get_exten_state_sub(sub); + if (!exten_state_sub) { + return; + } + ast_str_append(buf, 0, "SubscriptionType: extension_state\r\n" "Extension: %s\r\nExtensionStates: %s\r\n", exten_state_sub->exten, ast_extension_state2str(