summaryrefslogtreecommitdiff
path: root/pimd/pim_rp.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_rp.c')
-rw-r--r--pimd/pim_rp.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/pimd/pim_rp.c b/pimd/pim_rp.c
index c1623ec15e..783f931752 100644
--- a/pimd/pim_rp.c
+++ b/pimd/pim_rp.c
@@ -62,6 +62,9 @@ void pim_rp_list_hash_clean(void *data)
static void pim_rp_info_free(struct rp_info *rp_info)
{
+ if (rp_info->plist)
+ XFREE(MTYPE_PIM_FILTER_NAME, rp_info->plist);
+
XFREE(MTYPE_PIM_RP, rp_info);
}
@@ -600,7 +603,6 @@ int pim_rp_del(struct pim_instance *pim, const char *rp,
if (rp_info->plist) {
XFREE(MTYPE_PIM_FILTER_NAME, rp_info->plist);
- rp_info->plist = NULL;
was_plist = true;
}
@@ -852,9 +854,9 @@ struct pim_rpf *pim_rp_g(struct pim_instance *pim, struct in_addr group)
__PRETTY_FUNCTION__, buf, buf1);
}
pim_rpf_set_refresh_time(pim);
- pim_ecmp_nexthop_lookup(pim,
- &rp_info->rp.source_nexthop,
- &nht_p, &rp_info->group, 1);
+ (void)pim_ecmp_nexthop_lookup(
+ pim, &rp_info->rp.source_nexthop, &nht_p,
+ &rp_info->group, 1);
}
return (&rp_info->rp);
}