lib: Tweak to if_delete_retain()
* lib/if.c: Change if_delete_retain() to delete all connected
addresses, but to not free the list that holds them. Free the list
just before the interface structure itself is freed, in
if_delete().
diff --git a/lib/if.c b/lib/if.c
index 86f754b..e9ef50b 100644
--- a/lib/if.c
+++ b/lib/if.c
@@ -146,7 +146,7 @@
(*if_master.if_delete_hook) (ifp);
/* Free connected address list */
- list_delete (ifp->connected);
+ list_delete_all_node (ifp->connected);
}
/* Delete and free interface structure. */
@@ -157,6 +157,8 @@
if_delete_retain(ifp);
+ list_free (ifp->connected);
+
XFREE (MTYPE_IF, ifp);
}