Index: jingle/glue/proxy_resolving_client_socket.cc |
diff --git a/jingle/glue/proxy_resolving_client_socket.cc b/jingle/glue/proxy_resolving_client_socket.cc |
index 0b35559d5509cf0975f53565e09f32b385294950..348b88384272586efaa3f58af94231e6f2b6b836 100644 |
--- a/jingle/glue/proxy_resolving_client_socket.cc |
+++ b/jingle/glue/proxy_resolving_client_socket.cc |
@@ -350,17 +350,19 @@ int ProxyResolvingClientSocket::GetPeerAddress( |
NOTREACHED(); |
return net::ERR_SOCKET_NOT_CONNECTED; |
} |
+ |
if (proxy_info_.is_direct()) |
return transport_->socket()->GetPeerAddress(address); |
net::IPAddressNumber ip_number; |
- if (net::ParseIPLiteralToNumber(dest_host_port_pair_.host(), &ip_number)) { |
- *address = net::IPEndPoint(ip_number, dest_host_port_pair_.port()); |
- } else { |
+ if (!net::ParseIPLiteralToNumber(dest_host_port_pair_.host(), &ip_number)) { |
+ // Do not expose the proxy IP address to the caller. |
*address = |
net::IPEndPoint(net::IPAddressNumber(), dest_host_port_pair_.port()); |
Ryan Sleevi
2015/03/06 21:23:41
BUG: Don't assign to *address
Just return an erro
|
+ return net::ERR_NAME_NOT_RESOLVED; |
} |
+ *address = net::IPEndPoint(ip_number, dest_host_port_pair_.port()); |
return net::OK; |
} |