commit bf06f141882477d60a9d30390dd9e43a49fccc11
parent dfecb5c0f4eda76cbad3319a2e76244e76c566be
Author: Michael Forney <mforney@mforney.org>
Date: Sat, 25 May 2019 19:27:36 -0700
Fix traversal of addrinfo list
Although the loop is executed once for every result, in each iteration
it connects to the first result.
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git 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;