From: Wilfried Goesgens Date: Sun, 28 Nov 2010 20:02:00 +0000 (+0100) Subject: Memleak: getaddrinfo needs freeadrinfo here too. X-Git-Tag: v8.01~552 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=17963523d7482ac42c4cdc5d8efe730aed5a2042 Memleak: getaddrinfo needs freeadrinfo here too. --- diff --git a/webcit/tcp_sockets.c b/webcit/tcp_sockets.c index 99173ea51..2ee3cb27e 100644 --- a/webcit/tcp_sockets.c +++ b/webcit/tcp_sockets.c @@ -110,6 +110,7 @@ int tcp_connectsock(char *host, char *service) rc = getaddrinfo(host, service, &hints, &res); if (rc != 0) { lprintf(1, "%s: %s\n", host, gai_strerror(rc)); + freeaddrinfo(res); return(-1); } @@ -125,10 +126,12 @@ int tcp_connectsock(char *host, char *service) s = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); if (s < 0) { lprintf(1, "socket() failed: %s\n", strerror(errno)); + freeaddrinfo(res); return(-1); } rc = connect(s, ai->ai_addr, ai->ai_addrlen); if (rc >= 0) { + freeaddrinfo(res); return(s); } else { @@ -136,7 +139,7 @@ int tcp_connectsock(char *host, char *service) close(s); } } - + freeaddrinfo(res); return(-1); }