mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-03-16 12:03:03 -05:00
Fix a segfault (addr->error was unpredictable following a dotted-dec lookup)
[originally from svn r768]
This commit is contained in:
parent
5f73cf092f
commit
8fff1e4821
2
winnet.c
2
winnet.c
@ -61,6 +61,7 @@ SockAddr sk_namelookup(char *host, char **canonicalname) {
|
|||||||
unsigned long a;
|
unsigned long a;
|
||||||
struct hostent *h;
|
struct hostent *h;
|
||||||
|
|
||||||
|
ret->error = NULL;
|
||||||
if ( (a = inet_addr(host)) == (unsigned long) INADDR_NONE) {
|
if ( (a = inet_addr(host)) == (unsigned long) INADDR_NONE) {
|
||||||
if ( (h = gethostbyname(host)) == NULL) {
|
if ( (h = gethostbyname(host)) == NULL) {
|
||||||
DWORD err = WSAGetLastError();
|
DWORD err = WSAGetLastError();
|
||||||
@ -69,7 +70,6 @@ SockAddr sk_namelookup(char *host, char **canonicalname) {
|
|||||||
err == WSATRY_AGAIN ? "Host not found" :
|
err == WSATRY_AGAIN ? "Host not found" :
|
||||||
"gethostbyname: unknown error");
|
"gethostbyname: unknown error");
|
||||||
} else {
|
} else {
|
||||||
ret->error = NULL;
|
|
||||||
memcpy (&a, h->h_addr, sizeof(a));
|
memcpy (&a, h->h_addr, sizeof(a));
|
||||||
*canonicalname = h->h_name;
|
*canonicalname = h->h_name;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user