diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-01-16 09:18:12 +0100 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-01-16 11:52:58 +0100 |
commit | d0fa0d7b6c2e6cb6834ab048742bdffc41371aa4 (patch) | |
tree | baad00210b69b3e8bbe7f2fcc9c91bd503e93188 /src | |
parent | 0c69df2e427c82027eab8cf73e94b34d7b2aff66 (diff) | |
download | connman-d0fa0d7b6c2e6cb6834ab048742bdffc41371aa4.tar.gz connman-d0fa0d7b6c2e6cb6834ab048742bdffc41371aa4.tar.bz2 connman-d0fa0d7b6c2e6cb6834ab048742bdffc41371aa4.zip |
dnsproxy: Fix invalid hash table cleanup
The remove_listener() should not call __connman_dnsproxy_remove_listener
because that function will modify the hash table.
Diffstat (limited to 'src')
-rw-r--r-- | src/dnsproxy.c | 7 |
1 files changed, 6 insertions, 1 deletions
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) |