diff --git a/runtime/bin/socket_base_win.cc b/runtime/bin/socket_base_win.cc index 27448a38386..c96025350e7 100644 --- a/runtime/bin/socket_base_win.cc +++ b/runtime/bin/socket_base_win.cc @@ -174,7 +174,8 @@ intptr_t SocketBase::GetStdioHandle(intptr_t num) { if (handle == INVALID_HANDLE_VALUE) { return -1; } - StdHandle* std_handle = new StdHandle(handle); + StdHandle* std_handle = StdHandle::Stdin(handle); + std_handle->Retain(); std_handle->MarkDoesNotSupportOverlappedIO(); std_handle->EnsureInitialized(EventHandler::delegate()); return reinterpret_cast(std_handle);