networkd: fix use-after-free
Elements must be removed from the hashtable before they are freed.
This commit is contained in:
parent
93aef81600
commit
2c36be2f4b
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue