]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: free routes assigned to link 9633/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 18 Jul 2018 04:07:27 +0000 (13:07 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 18 Jul 2018 04:07:27 +0000 (13:07 +0900)
src/network/networkd-link.c

index db92ef14019a2d56e900c5adb820c2a432d7c0e5..c603f4290ade1323f93eafe5ace8014225ee8096 100644 (file)
@@ -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);