Adapt patch from Adam Langley: fix possible memory leak in tor_lookup_hostname

svn:r4326
This commit is contained in:
Nick Mathewson 2005-06-07 13:45:58 +00:00
parent a92ff1c4e9
commit 1d9bc936c2

View File

@ -526,8 +526,9 @@ int tor_lookup_hostname(const char *name, uint32_t *addr)
} else {
#ifdef HAVE_GETADDRINFO
int err;
struct addrinfo *res, *res_p;
struct addrinfo *res=NULL, *res_p;
struct addrinfo hints;
int result = -1;
memset(&hints, 0, sizeof(hints));
hints.ai_family = PF_INET;
hints.ai_socktype = SOCK_STREAM;
@ -537,14 +538,13 @@ int tor_lookup_hostname(const char *name, uint32_t *addr)
if (res_p->ai_family == AF_INET) {
struct sockaddr_in *sin = (struct sockaddr_in *)res_p->ai_addr;
memcpy(addr, &sin->sin_addr, 4);
freeaddrinfo(res);
return 0;
} else {
result = 0;
break;
}
}
return -1;
freeaddrinfo(res);
return result;
}
return (err == EAI_AGAIN) ? 1 : -1;
#else
struct hostent *ent;