If dnsproxy is not in use, like when connman has been started
with -r option, then the listener_table will be NULL which can
cause crash in hash table lookup call.
---
Hi,

forgot to add the check to __connman_dnsproxy_remove_listener() 

Cheers,
Jukka

 src/dnsproxy.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/dnsproxy.c b/src/dnsproxy.c
index f698cfd..7a9ca91 100644
--- a/src/dnsproxy.c
+++ b/src/dnsproxy.c
@@ -2916,6 +2916,9 @@ int __connman_dnsproxy_add_listener(int index)
        if (index < 0)
                return -EINVAL;
 
+       if (listener_table == NULL)
+               return 0;
+
        if (g_hash_table_lookup(listener_table, GINT_TO_POINTER(index)) != NULL)
                return 0;
 
@@ -2947,6 +2950,9 @@ void __connman_dnsproxy_remove_listener(int index)
 
        DBG("index %d", index);
 
+       if (listener_table == NULL)
+               return;
+
        ifdata = g_hash_table_lookup(listener_table, GINT_TO_POINTER(index));
        if (ifdata == NULL)
                return;
-- 
1.7.11.4

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to