BUG/MINOR: backend: Fix a possible null pointer dereference
In the function connect_server(), when we are not able to reuse a connection and
too many FDs are opened, the variable srv must be defined to kill an idle
connection.
This patch fixes the issue #257. It must be backported to 2.0
(cherry picked from commit 1dbc4676c657072dfbf89a0b7ce9699367f28b33)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/backend.c b/src/backend.c
index 7cfc2f2..70cb2f9 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1337,7 +1337,7 @@
}
}
if (((!reuse || (srv_conn && !(srv_conn->flags & CO_FL_CONNECTED)))
- && ha_used_fds > global.tune.pool_high_count) && srv->idle_orphan_conns) {
+ && ha_used_fds > global.tune.pool_high_count) && srv && srv->idle_orphan_conns) {
struct connection *tokill_conn;
/* We can't reuse a connection, and e have more FDs than deemd