From: Joshua Rogers Date: Sat, 11 Oct 2025 22:34:40 +0000 (+0800) Subject: apps/s_socket: fix FD and addrinfo leak on SCTP failure in init_client X-Git-Tag: 3.6-PRE-CLANG-FORMAT-WEBKIT~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bcff4720e1dadb99fd87d689ca9cdc60cc8f85db;p=thirdparty%2Fopenssl.git apps/s_socket: fix FD and addrinfo leak on SCTP failure in init_client If BIO_new_dgram_sctp(*sock, BIO_NOCLOSE) fails we returned 0 directly, skipping the out: cleanup and leaking the just created socket plus the addrinfo lists. Signed-off-by: Joshua Rogers Reviewed-by: Dmitry Belyavskiy Reviewed-by: Tom Cosgrove (Merged from https://github.com/openssl/openssl/pull/28917) (cherry picked from commit 3005b9bc8691c570f3f51c25219b7ba79a064d83) --- diff --git a/apps/lib/s_socket.c b/apps/lib/s_socket.c index a5b15792e18..c6254a0a1c7 100644 --- a/apps/lib/s_socket.c +++ b/apps/lib/s_socket.c @@ -154,8 +154,9 @@ int init_client(int *sock, const char *host, const char *port, BIO *tmpbio = BIO_new_dgram_sctp(*sock, BIO_NOCLOSE); if (tmpbio == NULL) { - ERR_print_errors(bio_err); - return 0; + BIO_closesocket(*sock); + *sock = INVALID_SOCKET; + goto out; } BIO_free(tmpbio); }