| Index: native_client_sdk/src/libraries/nacl_io/mount_node_socket.cc
|
| diff --git a/native_client_sdk/src/libraries/nacl_io/mount_node_socket.cc b/native_client_sdk/src/libraries/nacl_io/mount_node_socket.cc
|
| index 1d8ac375d88004d53f1f5b9ad38593e155949c09..f5c20c1b0a5092cb1d370db4f7415a16bb9b892f 100644
|
| --- a/native_client_sdk/src/libraries/nacl_io/mount_node_socket.cc
|
| +++ b/native_client_sdk/src/libraries/nacl_io/mount_node_socket.cc
|
| @@ -462,12 +462,15 @@ Error MountNodeSocket::GetSockName(struct sockaddr* addr, socklen_t* len) {
|
| return EFAULT;
|
|
|
| AUTO_LOCK(node_lock_);
|
| - if (local_addr_ != 0) {
|
| - *len = ResourceToSockAddr(local_addr_, *len, addr);
|
| + if (local_addr_ == 0) {
|
| + // getsockname succeeds even if the socket is not bound. In this case,
|
| + // just return address 0, port 0.
|
| + memset(addr, 0, *len);
|
| return 0;
|
| }
|
|
|
| - return ENOTCONN;
|
| + *len = ResourceToSockAddr(local_addr_, *len, addr);
|
| + return 0;
|
| }
|
|
|
| } // namespace nacl_io
|
|
|