diff options
author | Scott Griepentrog <scott@griepentrog.com> | 2015-04-16 13:20:29 -0500 |
---|---|---|
committer | Scott Griepentrog <sgriepentrog@digium.com> | 2015-04-16 13:52:10 -0500 |
commit | 664d3263e4cdacff5b84d2cd5624807ebdbebccf (patch) | |
tree | bbf29063211b8c9826ce3e948899b2eacc85ae0e /res | |
parent | 70c3759c400b7f40c45119f8c6653498b2bc4d54 (diff) |
res_pjsip_pubsub: On notify fail deleted sub_tree is then referenced
This change makes the send_notify of the sub_tree
not happen when the sub_tree has been deleted due
to the notify call failing, which avoids a crash.
ASTERISK-24970 #close
Change-Id: I1f20ffc08b192f59c457293b218025a693992cbf
Diffstat (limited to 'res')
-rw-r--r-- | res/res_pjsip_pubsub.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c index e7b4b02ec..cf649b453 100644 --- a/res/res_pjsip_pubsub.c +++ b/res/res_pjsip_pubsub.c @@ -2601,11 +2601,12 @@ static pj_bool_t pubsub_on_rx_subscribe_request(pjsip_rx_data *rdata) sip_subscription_accept(sub_tree, rdata, resp); if (generate_initial_notify(sub_tree->root)) { pjsip_evsub_terminate(sub_tree->evsub, PJ_TRUE); + } else { + send_notify(sub_tree, 1); + ast_test_suite_event_notify("SUBSCRIPTION_ESTABLISHED", + "Resource: %s", + sub_tree->root->resource); } - send_notify(sub_tree, 1); - ast_test_suite_event_notify("SUBSCRIPTION_ESTABLISHED", - "Resource: %s", - sub_tree->root->resource); } resource_tree_destroy(&tree); |