From dbb936e5c8f69887c7bef97965f7035616be1baf Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 20 Jun 2018 12:16:09 +0200 Subject: [PATCH] device: clear dad6_failed_addrs in _cleanup_ip_pre() We also cancel the idle handler nm_clear_g_source (&priv->queued_ip_config_id_x[IS_IPv4]) which means, nobody is going to process these addresses (at least for the moment). The purpose of "dad6_failed_addrs" is to keep track of addresses that might be interesting for checking about DAD failures. If we are no longer reacting on IP changes (because the idle handler was removed), we also no longer need these addresses. --- src/devices/nm-device.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 1f6702d6ec..12577c6dc9 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -10260,6 +10260,8 @@ _cleanup_ip_pre (NMDevice *self, int addr_family, CleanupType cleanup_type) dnsmasq_cleanup (self); ipv4ll_cleanup (self); } else { + g_slist_free_full (priv->dad6_failed_addrs, (GDestroyNotify) nmp_object_unref); + priv->dad6_failed_addrs = NULL; g_clear_object (&priv->dad6_ip6_config); dhcp6_cleanup (self, cleanup_type, FALSE); nm_clear_g_source (&priv->linklocal6_timeout_id);