--- native/common/jk_connect.c (revision 1585097) +++ native/common/jk_connect.c (working copy) @@ -435,10 +435,10 @@ hints.ai_socktype = SOCK_STREAM; #if JK_HAVE_IPV6 if (prefer_ipv6) - hints.ai_family = JK_INET6; + hints.ai_family = AF_INET6; else #endif - hints.ai_family = JK_INET; + hints.ai_family = AF_INET; error = getaddrinfo(host, NULL, &hints, &ai_list); #if JK_HAVE_IPV6 /* XXX: @@ -446,7 +446,7 @@ * way to retry the IPv4 address? */ if (error == EAI_FAMILY && prefer_ipv6) { - hints.ai_family = JK_INET; + hints.ai_family = AF_INET; error = getaddrinfo(host, NULL, &hints, &ai_list); } #endif @@ -481,16 +481,17 @@ } } } - freeaddrinfo(ai_list); if (ai == NULL) { /* No address found * XXX: Use better error code? */ + freeaddrinfo(ai_list); JK_TRACE_EXIT(l); errno = ENOENT; return JK_FALSE; } memcpy(&(saddr->sa), ai->ai_addr, ai->ai_addrlen); + freeaddrinfo(ai_list); #else /* HAVE_GETADDRINFO */ struct hostent *hoste;