From 1a3770cbc7de5a00f3aab3238a587468e419c7f4 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 14 Oct 2020 12:13:51 +0200 Subject: [PATCH] BUG/MEDIUM: deinit: check fdtab before fdtab[fd].owner When running a pure config check (haproxy -c) we go through the deinit phase without having allocated fdtab, so we can't blindly dereference it. The issue was added by recent commit ae7bc4a23 ("MEDIUM: deinit: close all receivers/listeners before scanning proxies"), no backport is needed. --- src/haproxy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/haproxy.c b/src/haproxy.c index 3bdcba7b8..4ef79bc27 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -2452,7 +2452,7 @@ void deinit(void) protocol_unbind_all(); for (cur_fd = 0; cur_fd < global.maxsock; cur_fd++) { - if (!fdtab[cur_fd].owner) + if (!fdtab || !fdtab[cur_fd].owner) continue; if (fdtab[cur_fd].iocb == listener_accept) {