From 8767839481f661a2643eace07144c508c40174b0 Mon Sep 17 00:00:00 2001 From: Arturo Bernal Date: Mon, 19 Oct 2026 13:12:13 +0200 Subject: [PATCH] core: Propagate make_sock() failures when duplicating listeners Avoid continuing startup or restart with an invalid listening socket when make_sock() fails during listener duplication. PR 70106. Submitted by: Xuqing Yang --- changes-entries/core-duplicate-listeners.txt | 3 +++ server/listen.c | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 changes-entries/core-duplicate-listeners.txt diff --git a/changes-entries/core-duplicate-listeners.txt b/changes-entries/core-duplicate-listeners.txt new file mode 100644 index 00000000000..d392572ac79 --- /dev/null +++ b/changes-entries/core-duplicate-listeners.txt @@ -0,0 +1,3 @@ + *) core: Fail startup or restart when a duplicated listening socket + cannot be initialized, instead of continuing with a broken listener. + PR 70106. [Xuqing Yang] diff --git a/server/listen.c b/server/listen.c index a8bdd0564a5..b9101cc9b6a 100644 --- a/server/listen.c +++ b/server/listen.c @@ -910,7 +910,10 @@ AP_DECLARE(apr_status_t) ap_duplicate_listeners(apr_pool_t *p, server_rec *s, duplr->bind_addr); return stat; } - make_sock(p, duplr, 1); + stat = make_sock(p, duplr, 1); + if (stat != APR_SUCCESS) { + return stat; + } } #if AP_NONBLOCK_WHEN_MULTI_LISTEN use_nonblock = (ap_listeners && ap_listeners->next);