From: Yu Watanabe Date: Wed, 18 Jul 2018 04:07:27 +0000 (+0900) Subject: network: free routes assigned to link X-Git-Tag: v240~953^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ddfc4f6e348ef8909f7c1df22f50a446d2b468ee;p=thirdparty%2Fsystemd.git network: free routes assigned to link --- diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index db92ef14019..c603f4290ad 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -492,11 +492,21 @@ static int link_new(Manager *manager, sd_netlink_message *message, Link **ret) { static void link_free(Link *link) { Address *address; Link *carrier; + Route *route; Iterator i; if (!link) return; + while ((route = set_first(link->routes))) + route_free(route); + + while ((route = set_first(link->routes_foreign))) + route_free(route); + + link->routes = set_free(link->routes); + link->routes_foreign = set_free(link->routes_foreign); + while ((address = set_first(link->addresses))) address_free(address);