From: ben Date: Sat, 22 Jan 2005 15:19:21 +0000 (+0000) Subject: If getaddrinfo() fails, it's not safe to dereference the struct addrinfo* it X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/commitdiff_plain/ca9892ae355639490e73d485f01cf86c5204276d If getaddrinfo() fails, it's not safe to dereference the struct addrinfo* it passes back to us, so don't. git-svn-id: svn://svn.tartarus.org/sgt/putty@5167 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/unix/uxnet.c b/unix/uxnet.c index b7c20cff..8804b09b 100644 --- a/unix/uxnet.c +++ b/unix/uxnet.c @@ -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;