From 5239cb1e070ce39e52a78b1dd7745662438c4f1f Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 19 Nov 2020 16:49:19 +0100 Subject: [PATCH] dns: assert domains are unset at start of rebuild_domain_lists() (cherry picked from commit a875d154de3baac6a8b5601dcb30f0316de4c8cb) (cherry picked from commit 83c760014e3d8ce5e362ba39c462fbd09646f821) --- src/dns/nm-dns-manager.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/dns/nm-dns-manager.c b/src/dns/nm-dns-manager.c index 80ce750da8..c467cdc2d7 100644 --- a/src/dns/nm-dns-manager.c +++ b/src/dns/nm-dns-manager.c @@ -1323,6 +1323,16 @@ rebuild_domain_lists (NMDnsManager *self) int prev_priority = G_MININT; head = _ip_config_lst_head (self); + +#if NM_MORE_ASSERTS + /* we call clear_domain_lists() at the end of update. We + * don't expect any domain settings here. */ + c_list_for_each_entry (ip_data, head, ip_config_lst) { + nm_assert (!ip_data->domains.search); + nm_assert (!ip_data->domains.reverse); + } +#endif + c_list_for_each_entry (ip_data, head, ip_config_lst) { NMIPConfig *ip_config = ip_data->ip_config; gboolean add_wildcard = FALSE; @@ -1377,9 +1387,7 @@ rebuild_domain_lists (NMDnsManager *self) cap_dom = 2u + NM_MAX (n_domains, n_searches); - g_free (ip_data->domains.search); domains = g_new (const char *, cap_dom); - ip_data->domains.search = domains; num_dom1 = 0; @@ -1445,7 +1453,9 @@ rebuild_domain_lists (NMDnsManager *self) nm_assert (num_dom2 < cap_dom); domains[num_dom2] = NULL; - g_strfreev (ip_data->domains.reverse); + nm_assert (!ip_data->domains.search); + nm_assert (!ip_data->domains.reverse); + ip_data->domains.search = domains; ip_data->domains.reverse = get_ip_rdns_domains (ip_config); } }