mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-09 14:36:48 +00:00
Merge "res_pjsip_pubsub: Prevent crashes on final NOTIFY." into 13
This commit is contained in:
@@ -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);
|
ast_sorcery_delete(ast_sip_get_sorcery(), sub_tree->persistence);
|
||||||
ao2_ref(sub_tree->persistence, -1);
|
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);
|
remove_subscription(sub_tree);
|
||||||
|
|
||||||
subscription_persistence_remove(sub_tree);
|
|
||||||
ao2_cleanup(sub_tree->endpoint);
|
ao2_cleanup(sub_tree->endpoint);
|
||||||
|
|
||||||
destroy_subscriptions(sub_tree->root);
|
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_serializer(sub_tree->dlg, NULL);
|
||||||
ast_sip_dialog_set_endpoint(sub_tree->dlg, NULL);
|
ast_sip_dialog_set_endpoint(sub_tree->dlg, NULL);
|
||||||
sub_tree->dlg = NULL;
|
sub_tree->dlg = NULL;
|
||||||
|
subscription_persistence_remove(sub_tree);
|
||||||
shutdown_subscriptions(sub_tree->root);
|
shutdown_subscriptions(sub_tree->root);
|
||||||
|
|
||||||
/* Remove evsub's reference to the sub_tree */
|
/* Remove evsub's reference to the sub_tree */
|
||||||
|
Reference in New Issue
Block a user