[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] Adapt patch from Adam Langley: fix possible memory leak in ...
- To: or-cvs@xxxxxxxxxxxxx
- Subject: [or-cvs] Adapt patch from Adam Langley: fix possible memory leak in ...
- From: nickm@xxxxxxxx (Nick Mathewson)
- Date: Tue, 7 Jun 2005 09:46:00 -0400 (EDT)
- Delivered-to: archiver@seul.org
- Delivered-to: or-cvs-outgoing@seul.org
- Delivered-to: or-cvs@seul.org
- Delivery-date: Tue, 07 Jun 2005 09:46:13 -0400
- Reply-to: or-dev@xxxxxxxxxxxxx
- Sender: owner-or-cvs@xxxxxxxxxxxxx
Update of /home/or/cvsroot/tor/src/common
In directory moria:/tmp/cvs-serv6590
Modified Files:
compat.c
Log Message:
Adapt patch from Adam Langley: fix possible memory leak in tor_lookup_hostname
Index: compat.c
===================================================================
RCS file: /home/or/cvsroot/tor/src/common/compat.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- compat.c 2 May 2005 21:49:04 -0000 1.47
+++ compat.c 7 Jun 2005 13:45:58 -0000 1.48
@@ -526,8 +526,9 @@
} 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 @@
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;