diff options
author | Kevin Harwell <kharwell@digium.com> | 2014-10-30 21:14:01 +0000 |
---|---|---|
committer | Kevin Harwell <kharwell@digium.com> | 2014-10-30 21:14:01 +0000 |
commit | a537e314d1875dbc4af0a16ae6cbcde9fe18fa21 (patch) | |
tree | 7c8467b6261ab94945004b4c8769eb04df1afaca /res/res_pjsip_exten_state.c | |
parent | cd52456ea10d8716172dbacda5673ec8188c32ae (diff) |
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
Diffstat (limited to 'res/res_pjsip_exten_state.c')
-rw-r--r-- | res/res_pjsip_exten_state.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/res/res_pjsip_exten_state.c b/res/res_pjsip_exten_state.c index 6b8ee6c12..332f45b3a 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( |