From 17963523d7482ac42c4cdc5d8efe730aed5a2042 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Sun, 28 Nov 2010 21:02:00 +0100 Subject: [PATCH] Memleak: getaddrinfo needs freeadrinfo here too. --- webcit/tcp_sockets.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); } -- 2.30.2