---
Hi,
I am resending this patch that has been pending a long time.
The resolver memory is not released when using
-r connman option (dnsproxy is disabled).
Jukka
src/resolver.c | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/src/resolver.c b/src/resolver.c
index 29871e1..f567414 100644
--- a/src/resolver.c
+++ b/src/resolver.c
@@ -494,6 +494,24 @@ void connman_resolver_flush(void)
return;
}
+static void free_entry(gpointer data)
+{
+ struct entry_data *entry = data;
+ g_free(entry->interface);
+ g_free(entry->domain);
+ g_free(entry->server);
+ g_free(entry);
+}
+
+static void free_resolvfile(gpointer data)
+{
+ struct resolvfile_entry *entry = data;
+ g_free(entry->interface);
+ g_free(entry->domain);
+ g_free(entry->server);
+ g_free(entry);
+}
+
int __connman_resolver_init(connman_bool_t dnsproxy)
{
DBG("dnsproxy %d", dnsproxy);
@@ -517,4 +535,18 @@ void __connman_resolver_cleanup(void)
if (dnsproxy_enabled == TRUE)
__connman_dnsproxy_cleanup();
+ else {
+ GList *list;
+ GSList *slist;
+
+ for (list = resolvfile_list; list; list = g_list_next(list))
+ free_resolvfile(list->data);
+ g_list_free(resolvfile_list);
+ resolvfile_list = NULL;
+
+ for (slist = entry_list; slist; slist = g_slist_next(slist))
+ free_entry(slist->data);
+ g_slist_free(entry_list);
+ entry_list = NULL;
+ }
}
--
1.7.1
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman