]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Fix crash when looking at S,G from *,G
authorDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 27 Sep 2016 23:59:34 +0000 (19:59 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Dec 2016 01:26:11 +0000 (20:26 -0500)
When looping over S,G's associated with a *,G,
there can exist situations where we have not created
the channel oil for the S,G yet.  Don't allow this
to crash the system.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_join.c

index c92be18ddf276239b52c7979e8136b59320a17b1..08c1c7b93a13a7bc84794c08af2644d0b5d32282 100644 (file)
@@ -210,6 +210,8 @@ static void recv_prune(struct interface *ifp,
                             __FILE__, __PRETTY_FUNCTION__,
                             buff, pim_str_sg_dump (&child->sg));
                }
+              if (!c_oil)
+                continue;
 
              if (!pim_upstream_evaluate_join_desired (child))
                pim_channel_del_oif (c_oil, ifp, PIM_OIF_FLAG_PROTO_PIM);