]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Clean PNC cache handling on shutdown
authorDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 14 Jul 2017 17:29:47 +0000 (13:29 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 25 Jul 2017 18:18:57 +0000 (14:18 -0400)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_rp.c

index 6837d7eaa3dfff2ebe7fb2829ecee6b620c6831c..93289b6ae48318ae3dbc6f45d9a322b103b21452 100644 (file)
@@ -50,11 +50,13 @@ void pim_rp_list_hash_clean(void *data)
 {
        struct pim_nexthop_cache *pnc;
 
-       pnc = (struct pim_nexthop_cache *)data;
-       if (pnc->rp_list->count)
-               list_delete_all_node(pnc->rp_list);
-       if (pnc->upstream_list->count)
-               list_delete_all_node(pnc->upstream_list);
+       list_delete(pnc->rp_list);
+       pnc->rp_list = NULL;
+
+       list_delete(pnc->upstream_list);
+       pnc->upstream_list = NULL;
+
+       XFREE(MTYPE_PIM_NEXTHOP_CACHE, pnc);
 }
 
 static void pim_rp_info_free(struct rp_info *rp_info)