diff --git a/pimd/pim_rp.c b/pimd/pim_rp.c index c1623ec15e..5007d6c174 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; }