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