commit bf06f141882477d60a9d30390dd9e43a49fccc11
Author: Michael Forney <[email protected]>
AuthorDate: Sat May 25 19:27:36 2019 -0700
Commit: Hiltjo Posthuma <[email protected]>
CommitDate: Sun May 26 15:38:52 2019 +0200
Fix traversal of addrinfo list
Although the loop is executed once for every result, in each iteration
it connects to the first result.
diff --git a/ii.c b/ii.c
index 6d2bd36..55d5f52 100644
--- a/ii.c
+++ b/ii.c
@@ -377,10 +377,10 @@ tcpopen(const char *host, const char *service)
}
for (rp = res; rp; rp = rp->ai_next) {
- fd = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
+ fd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
if (fd == -1)
continue;
- if (connect(fd, res->ai_addr, res->ai_addrlen) == -1) {
+ if (connect(fd, rp->ai_addr, rp->ai_addrlen) == -1) {
close(fd);
fd = -1;
continue;