diff --git a/packages/network/connman/patches/connman-dnsproxy_Make_sure_we_are_not_accessing_null-hash.patch b/packages/network/connman/patches/connman-dnsproxy_Make_sure_we_are_not_accessing_null-hash.patch new file mode 100644 index 0000000000..361a4f6bf0 --- /dev/null +++ b/packages/network/connman/patches/connman-dnsproxy_Make_sure_we_are_not_accessing_null-hash.patch @@ -0,0 +1,35 @@ +From 9944240ba52d19f04fb4bf468a8524f570e5fa6d Mon Sep 17 00:00:00 2001 +From: Jukka Rissanen +Date: Fri, 22 Mar 2013 14:15:19 +0000 +Subject: dnsproxy: Make sure we are not accessing null hash + +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. +--- +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; +-- +cgit v0.9.1