From cc79ed28f6d6931a3c87c0d3ab397b8dae20bbbd Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sat, 15 Dec 2018 15:11:36 +0100 Subject: [PATCH] BUG/MAJOR: backend: only update server's counters when the server exists PiBa-NL reported that since this commit f157384 ("MINOR: backend: count the number of connect and reuse per server and per backend"), reg-test connection/h00001 fails. Indeed it does, the server is not checked for existing prior to updating its counter. It should also fail with transparent mode. --- src/backend.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/backend.c b/src/backend.c index bb9b4ea66..e11675756 100644 --- a/src/backend.c +++ b/src/backend.c @@ -1378,10 +1378,12 @@ int connect_server(struct stream *s) if (s->flags & SF_SRV_REUSED) { HA_ATOMIC_ADD(&s->be->be_counters.reuse, 1); - HA_ATOMIC_ADD(&srv->counters.reuse, 1); + if (srv) + HA_ATOMIC_ADD(&srv->counters.reuse, 1); } else { HA_ATOMIC_ADD(&s->be->be_counters.connect, 1); - HA_ATOMIC_ADD(&srv->counters.connect, 1); + if (srv) + HA_ATOMIC_ADD(&srv->counters.connect, 1); } err = si_connect(&s->si[1], srv_conn);