Index: native_client_sdk/src/libraries/nacl_io/socket/tcp_node.cc |
diff --git a/native_client_sdk/src/libraries/nacl_io/socket/tcp_node.cc b/native_client_sdk/src/libraries/nacl_io/socket/tcp_node.cc |
index 69f657805b53de036c623cbddf58e17bd89ee2f6..738206eb730992f3c8c0fbbaa8437742c0523ebb 100644 |
--- a/native_client_sdk/src/libraries/nacl_io/socket/tcp_node.cc |
+++ b/native_client_sdk/src/libraries/nacl_io/socket/tcp_node.cc |
@@ -453,9 +453,11 @@ Error TcpNode::Accept(const HandleAttr& attr, |
emitter_->ClearEvents_Locked(POLLIN); |
// Set the out paramaters |
- PP_Resource remote_addr = TCPInterface()->GetRemoteAddress(*out_sock); |
- *len = ResourceToSockAddr(remote_addr, *len, addr); |
- filesystem_->ppapi()->ReleaseResource(remote_addr); |
+ if (addr && len) { |
+ PP_Resource remote_addr = TCPInterface()->GetRemoteAddress(*out_sock); |
+ *len = ResourceToSockAddr(remote_addr, *len, addr); |
+ filesystem_->ppapi()->ReleaseResource(remote_addr); |
+ } |
QueueAccept(); |
return 0; |