diff options
Diffstat (limited to 'pimd/pim_rp.c')
| -rw-r--r-- | pimd/pim_rp.c | 10 |
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); } |
