From 9040335e102b83a2dd7df64aa88d0dd762d78a86 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 21 Nov 2023 06:45:09 +0100 Subject: [PATCH] interface: fix interface memory corruption - set vlist keep_old=true, because the iface_update_cb expects it - update ifindex on reload Signed-off-by: Felix Fietkau --- interface.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/interface.c b/interface.c index e98edde..5b1591c 100644 --- a/interface.c +++ b/interface.c @@ -464,6 +464,7 @@ iface_update_cb(struct vlist_tree *tree, struct vlist_node *node_new, cache_cleanup(if_old); free(if_old->addrs.v4); if_old->addrs = if_new->addrs; + if_old->ifindex = if_new->ifindex; free(if_new); return; } @@ -669,4 +670,4 @@ struct interface *interface_get(const char *name, enum umdns_socket_type type) return iface; } -VLIST_TREE(interfaces, avl_strcmp, iface_update_cb, false, false); +VLIST_TREE(interfaces, avl_strcmp, iface_update_cb, true, false); -- 2.30.2