summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Network.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Network.cpp')
-rw-r--r--cpp/src/Ice/Network.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp
index 70940b2e7c3..5e6f5bfba0a 100644
--- a/cpp/src/Ice/Network.cpp
+++ b/cpp/src/Ice/Network.cpp
@@ -1306,19 +1306,11 @@ IceInternal::getAddresses(const string& host, int port, ProtocolSupport protocol
{
struct sockaddr_in* addrin = reinterpret_cast<sockaddr_in*>(&addr);
addrin->sin_port = htons(port);
- if(addrin->sin_addr.s_addr == 0)
- {
- continue;
- }
}
else if(p->ai_family == PF_INET6)
{
struct sockaddr_in6* addrin6 = reinterpret_cast<sockaddr_in6*>(&addr);
addrin6->sin6_port = htons(port);
- if(IN6_IS_ADDR_UNSPECIFIED(&addrin6->sin6_addr))
- {
- continue;
- }
}
bool found = false;
@@ -1337,6 +1329,14 @@ IceInternal::getAddresses(const string& host, int port, ProtocolSupport protocol
}
freeaddrinfo(info);
+
+ if(result.size() == 0)
+ {
+ DNSException ex(__FILE__, __LINE__);
+ ex.host = host;
+ throw ex;
+ }
+
return result;
}