For a datagram socket received by recvfrom, the type param is not assigned correctly, making fhandler_socket_local::connect() to return WSAEPROTOTYPE.
Fixes: 2617a91597ca ("* fhandler_socket.cc (get_inet_addr): Handle abstract AF_LOCAL socket.") Signed-Off-by: Yuyi Wang <strawberry_...@hotmail.com> --- winsup/cygwin/fhandler/socket_local.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/winsup/cygwin/fhandler/socket_local.cc b/winsup/cygwin/fhandler/socket_local.cc index 270a1ef31..ea5ee67cc 100644 --- a/winsup/cygwin/fhandler/socket_local.cc +++ b/winsup/cygwin/fhandler/socket_local.cc @@ -87,6 +87,8 @@ get_inet_addr_local (const struct sockaddr *in, int inlen, addr.sin_addr.s_addr = htonl (INADDR_LOOPBACK); *outlen = sizeof addr; memcpy (out, &addr, *outlen); + if (type) + *type = SOCK_DGRAM; return 0; } -- 2.49.0.windows.1-3