summaryrefslogtreecommitdiff
path: root/src/dnsproxy.c
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2012-11-19 10:21:00 +0200
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-11-19 14:53:28 +0200
commitfabaea99c6a9587c79ec53510fcf32bd47cba68a (patch)
tree7f50cabed3b124a6f4e90e13fa5c3fcad92ed497 /src/dnsproxy.c
parent792c02f6b72cecb1ba2ad1ed2cf496e655c7d977 (diff)
downloadconnman-fabaea99c6a9587c79ec53510fcf32bd47cba68a.tar.gz
connman-fabaea99c6a9587c79ec53510fcf32bd47cba68a.tar.bz2
connman-fabaea99c6a9587c79ec53510fcf32bd47cba68a.zip
dnsproxy: Check the result of socket creation when resolving
If the socket creation failed, continue with the next server.
Diffstat (limited to 'src/dnsproxy.c')
-rw-r--r--src/dnsproxy.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/dnsproxy.c b/src/dnsproxy.c
index 01bcc51a..7de4e389 100644
--- a/src/dnsproxy.c
+++ b/src/dnsproxy.c
@@ -2229,8 +2229,12 @@ static gboolean resolv(struct request_data *req,
if (data->enabled == FALSE)
continue;
- if (data->channel == NULL && data->protocol == IPPROTO_UDP)
- server_create_socket(data);
+ if (data->channel == NULL && data->protocol == IPPROTO_UDP) {
+ if (server_create_socket(data) < 0) {
+ DBG("socket creation failed while resolving");
+ continue;
+ }
+ }
if (ns_resolv(data, req, request, name) > 0)
return TRUE;