From 5edc480932f80b092e8a81c351a7bde1732e40ee Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Wed, 14 Feb 2024 11:40:14 +0100 Subject: [PATCH] Fix `sock_connect()` `rc` must be reset in order to make the `do-while` loop work in case there's no `sockopt_cb` set. Fixup of f3460460e96e963935c5df089790a3f711dda17c Signed-off-by: Steffen Jaeckel --- src/sock.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sock.c b/src/sock.c index e5431343..b79a96c0 100644 --- a/src/sock.c +++ b/src/sock.c @@ -207,7 +207,7 @@ sock_t sock_connect(xmpp_sock_t *xsock) { struct addrinfo *ainfo; sock_t sock; - int rc = 0; + int rc; char buf[64]; do { @@ -228,6 +228,7 @@ sock_t sock_connect(xmpp_sock_t *xsock) sock = socket(ainfo->ai_family, ainfo->ai_socktype, ainfo->ai_protocol); if (sock != INVALID_SOCKET) { + rc = 0; if (xsock->conn->sockopt_cb) { /* Don't allow user to overwrite sockfd value. */ sock_t sock_copy = sock;