chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
93aef81
)
networkd: fix use-after-free
author
Tom Gundersen
<teg@jklm.no>
Tue, 19 Aug 2014 13:41:23 +0000
(15:41 +0200)
committer
Tom Gundersen
<teg@jklm.no>
Tue, 19 Aug 2014 13:41:23 +0000
(15:41 +0200)
Elements must be removed from the hashtable before they are freed.
src/network/networkd-network.c
patch
|
blob
|
history
diff --git
a/src/network/networkd-network.c
b/src/network/networkd-network.c
index 803fcdd6099148ceb9601b8ad33a4e471bb83d4f..fc62395217fd5032a8ae8f331514a4ae8b08c9e6 100644
(file)
--- a/
src/network/networkd-network.c
+++ b/
src/network/networkd-network.c
@@
-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))