From: Felix Fietkau Date: Sun, 4 Dec 2011 19:07:02 +0000 (+0100) Subject: fix use-after-free on config reload X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=581c0d568f6fa7348a164077d761a04d0bb2b4e8;p=oweals%2Fnetifd.git fix use-after-free on config reload --- diff --git a/config.c b/config.c index fcfea7c..8472d44 100644 --- a/config.c +++ b/config.c @@ -176,6 +176,14 @@ config_parse_interface(struct uci_section *s) memcpy(config, b.head, blob_pad_len(b.head)); interface_add(iface, config); + /* + * need to look up the interface name again, in case of config update, + * the pointer will have changed + */ + iface = vlist_find(&interfaces, s->e.name, iface, node); + if (!iface) + return; + dev = iface->main_dev.dev; if (!dev || !dev->default_config) return;