You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by tr...@apache.org on 2001/08/01 20:03:33 UTC
cvs commit: apr/network_io/unix sa_common.c
trawick 01/08/01 11:03:33
Modified: network_io/unix sa_common.c
Log:
free the whole list of addrinfo structures returned by
getaddrinfo()
Revision Changes Path
1.42 +4 -3 apr/network_io/unix/sa_common.c
Index: sa_common.c
===================================================================
RCS file: /home/cvs/apr/network_io/unix/sa_common.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- sa_common.c 2001/07/31 05:59:36 1.41
+++ sa_common.c 2001/08/01 18:03:33 1.42
@@ -338,7 +338,7 @@
#if defined(HAVE_GETADDRINFO)
if (hostname != NULL) {
- struct addrinfo hints, *ai;
+ struct addrinfo hints, *ai, *ai_list;
apr_sockaddr_t *cursa;
int error;
char num[8];
@@ -349,7 +349,7 @@
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = 0;
apr_snprintf(num, sizeof(num), "%d", port);
- error = getaddrinfo(hostname, num, &hints, &ai);
+ error = getaddrinfo(hostname, num, &hints, &ai_list);
if (error) {
if (error == EAI_SYSTEM) {
return errno;
@@ -366,6 +366,7 @@
}
}
cursa = *sa;
+ ai = ai_list;
save_addrinfo(p, cursa, ai, port);
while (ai->ai_next) { /* while more addresses to report */
cursa->next = apr_pcalloc(p, sizeof(apr_sockaddr_t));
@@ -373,7 +374,7 @@
cursa = cursa->next;
save_addrinfo(p, cursa, ai, port);
}
- freeaddrinfo(ai);
+ freeaddrinfo(ai_list);
}
else {
if (family == APR_UNSPEC) {