From: Yu Watanabe Date: Sun, 11 Nov 2018 02:21:13 +0000 (+0900) Subject: network: use hashmap_free_with_destructor() in network_free() X-Git-Tag: v240~362^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fa6f1e54e3e18fc76ba527fb94a57998dbc22d1c;p=thirdparty%2Fsystemd.git network: use hashmap_free_with_destructor() in network_free() --- diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index 961fae60102..b2663ebf138 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -342,9 +342,7 @@ void network_free(Network *network) { AddressLabel *label; Prefix *prefix; Address *address; - NetDev *netdev; Route *route; - Iterator i; if (!network) return; @@ -377,11 +375,7 @@ void network_free(Network *network) { netdev_unref(network->bond); netdev_unref(network->vrf); - HASHMAP_FOREACH(netdev, network->stacked_netdevs, i) { - hashmap_remove(network->stacked_netdevs, netdev->ifname); - netdev_unref(netdev); - } - hashmap_free(network->stacked_netdevs); + hashmap_free_with_destructor(network->stacked_netdevs, netdev_unref); while ((route = network->static_routes)) route_free(route);