diff --git a/acl.c b/acl.c index b2c619f8bb0be8bf73e51f36ddceb75f639f93a8..f4daaab2a1743c16c34fe340b20513cdbf1250de 100755 --- a/acl.c +++ b/acl.c @@ -259,11 +259,13 @@ int ast_ouraddrfor(struct in_addr *them, struct in_addr *us) sin.sin_addr = *them; if (connect(s, (struct sockaddr *)&sin, sizeof(sin))) { ast_log(LOG_WARNING, "Cannot connect\n"); + close(s); return -1; } slen = sizeof(sin); if (getsockname(s, (struct sockaddr *)&sin, &slen)) { ast_log(LOG_WARNING, "Cannot get socket name\n"); + close(s); return -1; } close(s);