1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00

Add error variable to loop condition

In case of connection errors before and during the handshake,
net_select_result is retrying with the next address of the server. It
however was immediately going to the last address as it was not
checking the return value of try_connect for all intermediate
addresses.
This commit is contained in:
Tim Kosse 2017-01-23 18:51:03 +01:00 committed by Simon Tatham
parent 0249dd0a31
commit 4548f22b38
2 changed files with 2 additions and 2 deletions

View File

@ -1351,7 +1351,7 @@ static int net_select_result(int fd, int event)
int err = errno;
if (s->addr) {
plug_log(s->plug, 1, s->addr, s->port, strerror(err), err);
while (s->addr && sk_nextaddr(s->addr, &s->step)) {
while (err && s->addr && sk_nextaddr(s->addr, &s->step)) {
err = try_connect(s);
}
}

View File

@ -1580,7 +1580,7 @@ int select_result(WPARAM wParam, LPARAM lParam)
if (s->addr) {
plug_log(s->plug, 1, s->addr, s->port,
winsock_error_string(err), err);
while (s->addr && sk_nextaddr(s->addr, &s->step)) {
while (err && s->addr && sk_nextaddr(s->addr, &s->step)) {
err = try_connect(s);
}
}