diff options
author | Matt Jordan <mjordan@digium.com> | 2015-10-25 10:12:58 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2015-10-25 10:12:58 -0500 |
commit | c7651da5d1d1c7b3dc9a574c592ed4328226203d (patch) | |
tree | 3217118d35c57feba53363b86ae69b8b8aecc9c8 /res | |
parent | 90f0ed5475da57ca4ffb5437563997b3b6979f52 (diff) | |
parent | ad395080957b33a17f6cfe2c83697bebef286c25 (diff) |
Merge "res_pjsip_pubsub: Prevent crashes on final NOTIFY." into 13
Diffstat (limited to 'res')
-rw-r--r-- | res/res_pjsip_pubsub.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c index bb2f24395..2391c883a 100644 --- a/res/res_pjsip_pubsub.c +++ b/res/res_pjsip_pubsub.c @@ -598,6 +598,7 @@ static void subscription_persistence_remove(struct sip_subscription_tree *sub_tr ast_sorcery_delete(ast_sip_get_sorcery(), sub_tree->persistence); ao2_ref(sub_tree->persistence, -1); + sub_tree->persistence = NULL; } @@ -1185,7 +1186,6 @@ static void subscription_tree_destructor(void *obj) remove_subscription(sub_tree); - subscription_persistence_remove(sub_tree); ao2_cleanup(sub_tree->endpoint); destroy_subscriptions(sub_tree->root); @@ -3289,6 +3289,7 @@ static void pubsub_on_evsub_state(pjsip_evsub *evsub, pjsip_event *event) ast_sip_dialog_set_serializer(sub_tree->dlg, NULL); ast_sip_dialog_set_endpoint(sub_tree->dlg, NULL); sub_tree->dlg = NULL; + subscription_persistence_remove(sub_tree); shutdown_subscriptions(sub_tree->root); /* Remove evsub's reference to the sub_tree */ |