diff --git a/src/core/libs/supl/supl.c b/src/core/libs/supl/supl.c index 0184f35ac..035496591 100644 --- a/src/core/libs/supl/supl.c +++ b/src/core/libs/supl/supl.c @@ -326,11 +326,19 @@ static int server_connect(char *server) } if (connect(fd, aip->ai_addr, aip->ai_addrlen) != 0) { + freeaddrinfo(aip); + if (close(fd) != 0) + { + // avoid warning + } return -1; } - break; + else + { + break; + } } - + freeaddrinfo(aip); return fd; }