]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_pubsub: Fix crash on destruction of empty subscription tree. 08/1508/1
authorMark Michelson <mmichelson@digium.com>
Wed, 2 Sep 2015 14:14:19 +0000 (09:14 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 22 Oct 2015 20:18:01 +0000 (15:18 -0500)
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

index 1f0bc03644a4cfce8ee5710e5786843b17a10780..66288d53f605c0e1165b35f468661ff707863c9f 100644 (file)
@@ -1075,6 +1075,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;