X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=windows%2Fwinnet.c;fp=windows%2Fwinnet.c;h=9875323744cda7ffbdf2377061231176debc848a;hb=4455604dbce2d175ce1d601d51472bb1b0a535d8;hp=fb121e3f7ea681a9cf2645a5aa063c4a91429bdb;hpb=efb4996d31588d82275e248426bb1046eedd570a;p=PuTTY.git diff --git a/windows/winnet.c b/windows/winnet.c index fb121e3f..98753237 100644 --- a/windows/winnet.c +++ b/windows/winnet.c @@ -774,6 +774,8 @@ static int ipv4_is_local_addr(struct in_addr addr) SOCKET s = p_socket(AF_INET, SOCK_DGRAM, 0); DWORD retbytes; + SetHandleInformation((HANDLE)s, HANDLE_FLAG_INHERIT, 0); + if (p_WSAIoctl && p_WSAIoctl(s, SIO_GET_INTERFACE_LIST, NULL, 0, local_interfaces, sizeof(local_interfaces), @@ -1022,6 +1024,8 @@ static DWORD try_connect(Actual_Socket sock) goto ret; } + SetHandleInformation((HANDLE)s, HANDLE_FLAG_INHERIT, 0); + if (sock->oobinline) { BOOL b = TRUE; p_setsockopt(s, SOL_SOCKET, SO_OOBINLINE, (void *) &b, sizeof(b)); @@ -1303,6 +1307,8 @@ Socket sk_newlistener(const char *srcaddr, int port, Plug plug, return (Socket) ret; } + SetHandleInformation((HANDLE)s, HANDLE_FLAG_INHERIT, 0); + ret->oobinline = 0; p_setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (const char *)&on, sizeof(on));