diff options
| author | Felix Fietkau | 2023-11-21 05:45:09 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2023-11-21 05:48:33 +0000 |
| commit | 9040335e102b83a2dd7df64aa88d0dd762d78a86 (patch) | |
| tree | 59784a6e268f497291813d8ada81083f302d9c4b | |
| parent | d45c443aa1e6514aab58bbbf9311913e484d31a6 (diff) | |
| download | mdnsd-9040335e102b83a2dd7df64aa88d0dd762d78a86.tar.gz | |
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 <nbd@nbd.name>
| -rw-r--r-- | interface.c | 3 |
1 files changed, 2 insertions, 1 deletions
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); |