summaryrefslogtreecommitdiffhomepage
path: root/interface.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-03-29 16:07:01 +0300
committerFelix Fietkau <nbd@openwrt.org>2012-03-29 16:07:01 +0300
commitb32cffd4f0a2b904a1e3c38e5141100970f89a65 (patch)
treefa304e9153e926d3d99224e8370092362f42ca61 /interface.c
parentf196d048107c1c28bf6ddda31f0927a5893e5f3d (diff)
fix use-after-free when an interface event is pending while the interface is being freed
Diffstat (limited to 'interface.c')
-rw-r--r--interface.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/interface.c b/interface.c
index d749896..0aa5c5a 100644
--- a/interface.c
+++ b/interface.c
@@ -242,6 +242,7 @@ interface_cleanup(struct interface *iface, bool reload)
list_for_each_entry_safe(dep, tmp, &iface->users, list)
interface_remove_user(dep);
+ interface_dequeue_event(iface);
interface_ip_flush(&iface->config_ip);
interface_flush_state(iface);
interface_clear_errors(iface);