summaryrefslogtreecommitdiff
path: root/net/base/ip_endpoint.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/base/ip_endpoint.cc')
-rw-r--r--net/base/ip_endpoint.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/net/base/ip_endpoint.cc b/net/base/ip_endpoint.cc
index 55ea4465..b940710b 100644
--- a/net/base/ip_endpoint.cc
+++ b/net/base/ip_endpoint.cc
@@ -107,13 +107,15 @@ bool IPEndPoint::FromSockAddr(const struct sockaddr* address,
}
std::string IPEndPoint::ToString() const {
- struct sockaddr_storage addr_storage;
+ union {
+ struct sockaddr_storage addr_storage;
+ struct sockaddr addr;
+ };
size_t addr_len = sizeof(addr_storage);
- struct sockaddr* addr = reinterpret_cast<struct sockaddr*>(&addr_storage);
- if (!ToSockAddr(addr, &addr_len)) {
+ if (!ToSockAddr(&addr, &addr_len)) {
return "";
}
- return NetAddressToStringWithPort(addr, addr_len);
+ return NetAddressToStringWithPort(&addr, addr_len);
}
bool IPEndPoint::operator<(const IPEndPoint& that) const {