}
if(connect(sock, rai->ai_addr, rai->ai_addrlen) && !sockwouldblock(errno)) {
+ closesocket(sock);
freeaddrinfo(rai);
return false;
}
socklen_t sl = sizeof(sn);
if(getsockname(sock, (struct sockaddr *)&sn, &sl)) {
+ closesocket(sock);
return false;
}
+ closesocket(sock);
+
if(getnameinfo((struct sockaddr *)&sn, sl, host, hostlen, NULL, 0, NI_NUMERICHOST | NI_NUMERICSERV)) {
return false;
}
flags |= MESHLINK_INVITE_IPV4 | MESHLINK_INVITE_IPV6;
}
- fprintf(stderr, "flags = %u\n", flags);
-
// Add local addresses if requested
if(flags & MESHLINK_INVITE_LOCAL) {
if(flags & MESHLINK_INVITE_IPV4) {
if(mesh->conffile) {
fclose(mesh->conffile);
- }
+ }
memset(mesh, 0, sizeof(*mesh));