]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
apps/s_socket: fix double close of listening socket when naccept==0
authorJoshua Rogers <MegaManSec@users.noreply.github.com>
Mon, 13 Oct 2025 14:35:43 +0000 (22:35 +0800)
committerTomas Mraz <tomas@openssl.org>
Fri, 17 Oct 2025 17:05:15 +0000 (19:05 +0200)
Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28813)

apps/lib/s_socket.c

index 9434f953cb253dc3759485266d9ce9dc8f23d897..d0dad64aa57dab906f43233b74ed52787f037fba 100644 (file)
@@ -422,8 +422,6 @@ int do_server(int *accept_sock, const char *host, const char *port,
 
             if (naccept != -1)
                 naccept--;
-            if (naccept == 0)
-                BIO_closesocket(asock);
 
             BIO_set_tcp_ndelay(sock, 1);
             i = (*cb)(sock, type, protocol, context);
@@ -463,6 +461,7 @@ int do_server(int *accept_sock, const char *host, const char *port,
 
         if (i < 0 || naccept == 0) {
             BIO_closesocket(asock);
+            asock = INVALID_SOCKET;
             ret = i;
             break;
         }