Chromium Code Reviews| 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; |