summaryrefslogtreecommitdiff
path: root/pimd/pim_iface.c
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2018-03-01 11:10:01 -0500
committerQuentin Young <qlyoung@cumulusnetworks.com>2018-03-01 11:10:01 -0500
commita975744835bb87e3cf62701e13248d66f1dac1df (patch)
treebca5ab1f29594688c43e0c36c9eb2f0c5c8e66c6 /pimd/pim_iface.c
parent351c56649bfd8487676704a10995d736d1d893cc (diff)
parentc98f4d81aa5d4113ceea58ce6db4bebab5c99735 (diff)
Merge branch 'master' into docuser
* New manpage: mtracebis.rst * Makefile.am includes mtracebis.rst * configure.ac lines removed * Debian packaging files updated * Fixed up manpage |seealso-programs| in the process * Centos7 build package list updated to include systemd-devel * New paragraph on netns vrf support in zebra manpage Conflicts: configure.ac debianpkg/backports/ubuntu14.04/debian/frr.install debianpkg/frr.install doc/Makefile.am doc/developer/Building_FRR_on_CentOS7.rst doc/zebra.8.in Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_iface.c')
-rw-r--r--pimd/pim_iface.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c
index f02cf7ed31..a807c69c60 100644
--- a/pimd/pim_iface.c
+++ b/pimd/pim_iface.c
@@ -85,9 +85,11 @@ static void *if_list_clean(struct pim_interface *pim_ifp)
if (pim_ifp->sec_addr_list)
list_delete_and_null(&pim_ifp->sec_addr_list);
- while ((ch = RB_ROOT(pim_ifchannel_rb,
- &pim_ifp->ifchannel_rb)) != NULL)
+ while (!RB_EMPTY(pim_ifchannel_rb, &pim_ifp->ifchannel_rb)) {
+ ch = RB_ROOT(pim_ifchannel_rb, &pim_ifp->ifchannel_rb);
+
pim_ifchannel_delete(ch);
+ }
XFREE(MTYPE_PIM_INTERFACE, pim_ifp);
@@ -250,9 +252,11 @@ void pim_if_delete(struct interface *ifp)
if (pim_ifp->boundary_oil_plist)
XFREE(MTYPE_PIM_INTERFACE, pim_ifp->boundary_oil_plist);
- while ((ch = RB_ROOT(pim_ifchannel_rb,
- &pim_ifp->ifchannel_rb)) != NULL)
+ while (!RB_EMPTY(pim_ifchannel_rb, &pim_ifp->ifchannel_rb)) {
+ ch = RB_ROOT(pim_ifchannel_rb, &pim_ifp->ifchannel_rb);
+
pim_ifchannel_delete(ch);
+ }
XFREE(MTYPE_PIM_INTERFACE, pim_ifp);