From 0b63d011c930d3454b2cd0c52d2efb52f7f54a1d Mon Sep 17 00:00:00 2001
From: Mark Michelson <mmichelson@digium.com>
Date: Wed, 2 Sep 2015 09:14:19 -0500
Subject: [PATCH] res_pjsip_pubsub: Fix crash on destruction of empty
 subscription tree.

If an old persistent subscription is recreated but then immediately
destroyed because it is out of date, the subscription tree will have no
leaf subscriptions on it. This was resulting in a crash when attempting
to destroy the subscription tree.

A simple NULL check fixes this problem.

Change-Id: I85570b9e2bcc7260a3fe0ad85904b2a9bf36d2ac
---
 res/res_pjsip_pubsub.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c
index 371ccebfc5..87712cf798 100644
--- a/res/res_pjsip_pubsub.c
+++ b/res/res_pjsip_pubsub.c
@@ -1079,6 +1079,10 @@ static void destroy_subscriptions(struct ast_sip_subscription *root)
 {
 	int i;
 
+	if (!root) {
+		return;
+	}
+
 	for (i = 0; i < AST_VECTOR_SIZE(&root->children); ++i) {
 		struct ast_sip_subscription *child;
 
-- 
GitLab