From 5ddc599720f40fecfdc19b489cba0bb26f519255 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 11 Apr 2026 03:46:51 +0200 Subject: [PATCH] openssh_fixture: fix to close socket on connect failure Closes #1855 --- tests/openssh_fixture.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/tests/openssh_fixture.c b/tests/openssh_fixture.c index abeb4781..b6079442 100644 --- a/tests/openssh_fixture.c +++ b/tests/openssh_fixture.c @@ -337,6 +337,18 @@ static int port_from_container(char *container_id, char **port_out) } } +static void close_socket_to_container(libssh2_socket_t sock) +{ + if(sock != LIBSSH2_INVALID_SOCKET) { + shutdown(sock, 2 /* SHUT_RDWR */); +#ifdef _WIN32 + closesocket(sock); +#else + close(sock); +#endif + } +} + static libssh2_socket_t open_socket_to_container(char *container_id) { char *ip_address = NULL; @@ -416,6 +428,7 @@ static libssh2_socket_t open_socket_to_container(char *container_id) } } if(ret == LIBSSH2_INVALID_SOCKET) { + close_socket_to_container(sock); fprintf(stderr, "Failed to connect to %s:%s\n", ip_address, port_string); goto cleanup; @@ -428,18 +441,6 @@ cleanup: return ret; } -static void close_socket_to_container(libssh2_socket_t sock) -{ - if(sock != LIBSSH2_INVALID_SOCKET) { - shutdown(sock, 2 /* SHUT_RDWR */); -#ifdef _WIN32 - closesocket(sock); -#else - close(sock); -#endif - } -} - static char *running_container_id = NULL; int start_openssh_fixture(void)