networkd: fix use-after-free

Elements must be removed from the hashtable before they are freed.
This commit is contained in:
Tom Gundersen 2014-08-19 15:41:23 +02:00
parent 93aef81600
commit 2c36be2f4b
1 changed files with 3 additions and 1 deletions

View File

@ -172,8 +172,10 @@ void network_free(Network *network) {
netdev_unref(network->bond);
HASHMAP_FOREACH(netdev, network->stacked_netdevs, i)
HASHMAP_FOREACH(netdev, network->stacked_netdevs, i) {
hashmap_remove(network->stacked_netdevs, netdev->ifname);
netdev_unref(netdev);
}
hashmap_free(network->stacked_netdevs);
while ((route = network->static_routes))