Always initialise the `addresses' field of a SockAddr to NULL,
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 26 Aug 2006 08:37:42 +0000 (08:37 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 26 Aug 2006 08:37:42 +0000 (08:37 +0000)
because it gets unconditionally sfree()d in sk_addr_free(). This
just bit me when running under the MSVC debugger; not sure how it
hasn't bitten anyone until now!

git-svn-id: svn://svn.tartarus.org/sgt/putty@6800 cda61777-01e9-0310-a592-d414129be87e

windows/winnet.c

index 715c492..47ac8b2 100644 (file)
@@ -356,6 +356,7 @@ SockAddr sk_namelookup(const char *host, char **canonicalname,
 #ifndef NO_IPV6
     ret->ai = ret->ais = NULL;
 #endif
+    ret->addresses = NULL;
     ret_family = AF_UNSPEC;
     *realhost = '\0';
 
@@ -456,6 +457,7 @@ SockAddr sk_nonamelookup(const char *host)
 #ifndef NO_IPV6
     ret->ai = ret->ais = NULL;
 #endif
+    ret->addresses = NULL;
     ret->naddresses = 0;
     strncpy(ret->hostname, host, lenof(ret->hostname));
     ret->hostname[lenof(ret->hostname)-1] = '\0';