mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-19 09:10:42 +01:00
rdisc: fix leak of DNS domains
This commit is contained in:
parent
0be3678466
commit
272943db4b
1 changed files with 7 additions and 1 deletions
|
|
@ -477,7 +477,6 @@ clean_dns_domains (NMRDisc *rdisc, guint32 now, NMRDiscConfigMap *changed, guint
|
|||
continue;
|
||||
|
||||
if (now >= expiry) {
|
||||
g_free (item->domain);
|
||||
g_array_remove_index (rdisc->dns_domains, i--);
|
||||
*changed |= NM_RDISC_CONFIG_DNS_DOMAINS;
|
||||
} else if (now >= refresh)
|
||||
|
|
@ -537,6 +536,12 @@ nm_rdisc_ra_received (NMRDisc *rdisc, guint32 now, NMRDiscConfigMap changed)
|
|||
|
||||
/******************************************************************/
|
||||
|
||||
static void
|
||||
dns_domain_free (gpointer data)
|
||||
{
|
||||
g_free (((NMRDiscDNSDomain *)(data))->domain);
|
||||
}
|
||||
|
||||
static void
|
||||
nm_rdisc_init (NMRDisc *rdisc)
|
||||
{
|
||||
|
|
@ -545,6 +550,7 @@ nm_rdisc_init (NMRDisc *rdisc)
|
|||
rdisc->routes = g_array_new (FALSE, FALSE, sizeof (NMRDiscRoute));
|
||||
rdisc->dns_servers = g_array_new (FALSE, FALSE, sizeof (NMRDiscDNSServer));
|
||||
rdisc->dns_domains = g_array_new (FALSE, FALSE, sizeof (NMRDiscDNSDomain));
|
||||
g_array_set_clear_func (rdisc->dns_domains, dns_domain_free);
|
||||
rdisc->hop_limit = 64;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue