Skip to content

Commit 954e06a

Browse files
committed
socket_stream: continue to next addrinfo on socket creation failure
When connecting to a remote via socket stream, we first use getaddrinfo to obtain the possible connection methods followed by creating and connecting the socket. But when creating the socket, we error out as soon as we get an invalid socket instead of trying out other address hints returned by addrinfo. Fix this by continuing on invalid socket instead of returning an error. This fixes connection establishment with musl libc.
1 parent 0d2f682 commit 954e06a

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

src/socket_stream.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,8 @@ int socket_connect(git_stream *stream)
106106
for (p = info; p != NULL; p = p->ai_next) {
107107
s = socket(p->ai_family, p->ai_socktype, p->ai_protocol);
108108

109-
if (s == INVALID_SOCKET) {
110-
net_set_error("error creating socket");
111-
break;
112-
}
109+
if (s == INVALID_SOCKET)
110+
continue;
113111

114112
if (connect(s, p->ai_addr, (socklen_t)p->ai_addrlen) == 0)
115113
break;

0 commit comments

Comments
 (0)