summaryrefslogtreecommitdiff
path: root/zebra/interface.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-09-27 21:19:20 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-10-05 10:53:17 -0400
commitacdf5e25101bafe334e6b500c3dd0a2babb3c1ec (patch)
treed8b9483a3aeebc7e90ddbe5f765e5e63aecb8e1b /zebra/interface.c
parentaffe9e99831408960b8b6f8477506ed2874a05dd (diff)
*: Convert list_free usage to list_delete
list_free is occassionally being used to delete the list and accidently not deleting all the nodes. We keep running across this usage pattern. Let's remove the temptation and only allow list_delete to handle list deletion. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra/interface.c')
-rw-r--r--zebra/interface.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/zebra/interface.c b/zebra/interface.c
index 9a9f76eab1..a65dd21f63 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -138,7 +138,7 @@ static int if_zebra_delete_hook(struct interface *ifp)
struct rtadvconf *rtadv;
rtadv = &zebra_if->rtadv;
- list_free(rtadv->AdvPrefixList);
+ list_delete_and_null(&rtadv->AdvPrefixList);
#endif /* HAVE_RTADV */
XFREE(MTYPE_TMP, zebra_if);
@@ -322,7 +322,7 @@ int if_subnet_delete(struct interface *ifp, struct connected *ifc)
}
/* Otherwise, free list and route node. */
- list_free(addr_list);
+ list_delete_and_null(&addr_list);
rn->info = NULL;
route_unlock_node(rn);