X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/7555d6a50b05d96de39b5e95cf11a8f05f0c4fd9..d54747567b889b56f3cbbacd4525c30bdd7c5655:/unix/uxnet.c diff --git a/unix/uxnet.c b/unix/uxnet.c index 03120948..357fc862 100644 --- a/unix/uxnet.c +++ b/unix/uxnet.c @@ -705,7 +705,7 @@ Socket sk_newlistener(char *srcaddr, int port, Plug plug, int local_host_only, i #ifndef NO_IPV6 hints.ai_flags = AI_NUMERICHOST; hints.ai_family = address_family; - hints.ai_socktype = 0; + hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = 0; hints.ai_addrlen = 0; hints.ai_addr = NULL; @@ -713,8 +713,10 @@ Socket sk_newlistener(char *srcaddr, int port, Plug plug, int local_host_only, i hints.ai_next = NULL; sprintf(portstr, "%d", port); retcode = getaddrinfo(srcaddr, portstr, &hints, &ai); - addr = ai->ai_addr; - addrlen = ai->ai_addrlen; + if (retcode == 0) { + addr = ai->ai_addr; + addrlen = ai->ai_addrlen; + } #else memset(&a,'\0',sizeof(struct sockaddr_in)); a.sin_family = AF_INET; @@ -949,7 +951,6 @@ static int sk_tcp_write_oob(Socket sock, const char *buf, int len) static int net_select_result(int fd, int event) { int ret; - int err; char buf[20480]; /* nice big buffer for plenty of speed */ Actual_Socket s; u_long atmark; @@ -1013,7 +1014,6 @@ static int net_select_result(int fd, int event) int t; /* socket of connection */ memset(&isa, 0, sizeof(struct sockaddr_in)); - err = 0; t = accept(s->s,(struct sockaddr *)&isa,(socklen_t *) &addrlen); if (t < 0) { break;