summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-05-03 16:51:12 +0200
committerThomas Haller <thaller@redhat.com>2018-05-03 16:58:39 +0200
commit078d92f6cb39ffc9313c10fb52b6af947edfeeab (patch)
tree26424279bf688769a45d5e9c13549d0a3f9d13ae
parent50ce4cc559fa1cdf956aded627ab62f6445ba36c (diff)
downloadNetworkManager-078d92f6cb39ffc9313c10fb52b6af947edfeeab.tar.gz
fixup! dns: use dns-priority to provide a preprocessed domain list to plugins
First construct the @domains strv array, and then assign it. Don't assign the half-initialized array early on, but do it at the end.
-rw-r--r--src/dns/nm-dns-manager.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dns/nm-dns-manager.c b/src/dns/nm-dns-manager.c
index 669371378d..e5dac09400 100644
--- a/src/dns/nm-dns-manager.c
+++ b/src/dns/nm-dns-manager.c
@@ -1252,11 +1252,9 @@ rebuild_domain_lists (NMDnsManager *self)
priority = nm_ip_config_get_dns_priority (ip_config);
nm_assert (priority != 0);
- g_free (ip_data->domains.search);
domains = g_new0 (const char *,
2 + NM_MAX (nm_ip_config_get_num_searches (ip_config),
nm_ip_config_get_num_domains (ip_config)));
- ip_data->domains.search = domains;
/* Add wildcard lookup domain to connections with the default route.
* If there is no default route, add the wildcard domain to all non-VPN
@@ -1312,6 +1310,9 @@ rebuild_domain_lists (NMDnsManager *self)
}
domains[n] = NULL;
+ g_free (ip_data->domains.search);
+ ip_data->domains.search = domains;
+
g_strfreev (ip_data->domains.reverse);
ip_data->domains.reverse = get_ip_rdns_domains (ip_config);
}