diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-11-19 10:21:00 +0200 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-11-19 14:53:28 +0200 |
commit | fabaea99c6a9587c79ec53510fcf32bd47cba68a (patch) | |
tree | 7f50cabed3b124a6f4e90e13fa5c3fcad92ed497 /src/dnsproxy.c | |
parent | 792c02f6b72cecb1ba2ad1ed2cf496e655c7d977 (diff) | |
download | connman-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.c | 8 |
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; |