From: Wilfried Goesgens Date: Sun, 14 Nov 2010 22:07:10 +0000 (+0100) Subject: Memleak: sock_connect() needs to call freeaddrinfo() X-Git-Tag: v8.01~591 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=e152b333715749602773cc8bfd7ffef36a24b55c;p=citadel.git Memleak: sock_connect() needs to call freeaddrinfo() --- diff --git a/citadel/clientsocket.c b/citadel/clientsocket.c index d8a3e6b01..54bceb7a5 100644 --- a/citadel/clientsocket.c +++ b/citadel/clientsocket.c @@ -96,10 +96,12 @@ int sock_connect(char *host, char *service) sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); if (sock < 0) { CtdlLogPrintf(CTDL_ERR, "socket() failed: %s\n", strerror(errno)); + freeaddrinfo(res); return(-1); } rc = connect(sock, ai->ai_addr, ai->ai_addrlen); if (rc >= 0) { + freeaddrinfo(res); return(sock); } else { @@ -107,7 +109,7 @@ int sock_connect(char *host, char *service) close(sock); } } - + freeaddrinfo(res); return(-1); }