Fix a segfault (addr->error was unpredictable following a dotted-dec lookup)
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Thu, 26 Oct 2000 08:25:43 +0000 (08:25 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Thu, 26 Oct 2000 08:25:43 +0000 (08:25 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/putty@768 cda61777-01e9-0310-a592-d414129be87e

winnet.c

index f80d880..e36d9e1 100644 (file)
--- a/winnet.c
+++ b/winnet.c
@@ -61,6 +61,7 @@ SockAddr sk_namelookup(char *host, char **canonicalname) {
     unsigned long a;
     struct hostent *h;
 
     unsigned long a;
     struct hostent *h;
 
+    ret->error = NULL;
     if ( (a = inet_addr(host)) == (unsigned long) INADDR_NONE) {
        if ( (h = gethostbyname(host)) == NULL) {
            DWORD err = WSAGetLastError();
     if ( (a = inet_addr(host)) == (unsigned long) INADDR_NONE) {
        if ( (h = gethostbyname(host)) == NULL) {
            DWORD err = WSAGetLastError();
@@ -69,7 +70,6 @@ SockAddr sk_namelookup(char *host, char **canonicalname) {
                          err == WSATRY_AGAIN ? "Host not found" :
                          "gethostbyname: unknown error");
        } else {
                          err == WSATRY_AGAIN ? "Host not found" :
                          "gethostbyname: unknown error");
        } else {
-           ret->error = NULL;
            memcpy (&a, h->h_addr, sizeof(a));
            *canonicalname = h->h_name;
        }
            memcpy (&a, h->h_addr, sizeof(a));
            *canonicalname = h->h_name;
        }