From d0fa0d7b6c2e6cb6834ab048742bdffc41371aa4 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Mon, 16 Jan 2012 09:18:12 +0100 Subject: dnsproxy: Fix invalid hash table cleanup The remove_listener() should not call __connman_dnsproxy_remove_listener because that function will modify the hash table. --- src/dnsproxy.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/dnsproxy.c b/src/dnsproxy.c index adf7535c..6f8d39a4 100644 --- a/src/dnsproxy.c +++ b/src/dnsproxy.c @@ -2734,7 +2734,12 @@ void __connman_dnsproxy_remove_listener(const char *interface) static void remove_listener(gpointer key, gpointer value, gpointer user_data) { - __connman_dnsproxy_remove_listener(key); + const char *interface = key; + struct listener_data *ifdata = value; + + DBG("interface %s", interface); + + destroy_listener(ifdata); } int __connman_dnsproxy_init(void) -- cgit v1.2.3