]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Failure to connect to a Unix-domain socket could cause a segfault. Fixed.
authorJacob Nevins <jacobn@chiark.greenend.org.uk>
Sat, 11 Feb 2006 18:29:55 +0000 (18:29 +0000)
committerJacob Nevins <jacobn@chiark.greenend.org.uk>
Sat, 11 Feb 2006 18:29:55 +0000 (18:29 +0000)
[originally from svn r6550]

unix/uxnet.c

index 3cf1b5f0fde4db4cfb4bc20cabcb2fc048c99ad7..d01a44d9d02dcc0eb5f5ee55c8502e6213b052f6 100644 (file)
@@ -236,7 +236,7 @@ SockAddr sk_nonamelookup(const char *host)
 static int sk_nextaddr(SockAddr addr)
 {
 #ifndef NO_IPV6
-    if (addr->ai->ai_next) {
+    if (addr->ai && addr->ai->ai_next) {
        addr->ai = addr->ai->ai_next;
        addr->family = addr->ai->ai_family;
        return TRUE;
@@ -1282,9 +1282,10 @@ SockAddr platform_get_x11_unix_address(int displaynum, char **canonicalname)
     else
        *canonicalname = dupstr(ret->hostname);
 #ifndef NO_IPV6
-    ret->ais = NULL;
+    ret->ai = ret->ais = NULL;
 #else
     ret->addresses = NULL;
+    ret->curraddr = ret->naddresses = 0;
 #endif
     return ret;
 }