Index: native_client_sdk/src/libraries/nacl_io/socket/socket_node.cc |
diff --git a/native_client_sdk/src/libraries/nacl_io/socket/socket_node.cc b/native_client_sdk/src/libraries/nacl_io/socket/socket_node.cc |
index 831345557bd91d5f3ee3e35d3f3715c6f1a3bfc6..1fa78645ce1d5d70afa6c72ff905a3634deba628 100644 |
--- a/native_client_sdk/src/libraries/nacl_io/socket/socket_node.cc |
+++ b/native_client_sdk/src/libraries/nacl_io/socket/socket_node.cc |
@@ -157,10 +157,11 @@ socklen_t SocketNode::ResourceToSockAddr(PP_Resource addr, |
addr4.sin_family = AF_INET; |
addr4.sin_port = ipv4.port; |
memcpy(&addr4.sin_addr, ipv4.addr, sizeof(ipv4.addr)); |
+ len = sizeof(addr4); |
jvoung (off chromium)
2014/06/03 19:24:23
Hmm, not sure of the point of the len argument the
Sam Clegg
2014/06/03 19:32:43
I think we should mimik the behavior of getsocknam
binji
2014/06/03 20:10:05
+1, the opengroup spec says the same thing. http:/
jvoung (off chromium)
2014/06/03 21:59:32
Done.
|
memcpy(out_addr, &addr4, len); |
- // Returns required size not copied size like getpeername/getsockname. |
- return sizeof(sockaddr_in); |
+ // Returns required size not like getpeername/getsockname. |
+ return len; |
} |
if (PP_TRUE == NetInterface()->DescribeAsIPv6Address(addr, &ipv6)) { |
@@ -168,10 +169,11 @@ socklen_t SocketNode::ResourceToSockAddr(PP_Resource addr, |
addr6.sin6_family = AF_INET6; |
addr6.sin6_port = ipv6.port; |
memcpy(&addr6.sin6_addr, ipv6.addr, sizeof(ipv6.addr)); |
+ len = sizeof(addr6); |
memcpy(out_addr, &addr6, len); |
- // Returns required size not copied size like getpeername/getsockname. |
- return sizeof(sockaddr_in6); |
+ // Returns required size not like getpeername/getsockname. |
+ return len; |
} |
return 0; |