BUG/MINOR: proxy: fix null dereference in "add backend" handler

When a backend is created at runtime, the new proxy instance is inserted
at the end of proxies_list. This operation is buggy if this list is
empty : the code causes a null dereference which will lead to a crash.
This causes the following compilation error :

  CC      src/proxy.o
src/proxy.c: In function 'cli_parse_add_backend':
src/proxy.c:4933:36: warning: null pointer dereference [-Wnull-dereference]
 4933 |                 proxies_list->next = px;
      |                 ~~~~~~~~~~~~~~~~~~~^~~~

This patch fixes this issue. Note that in reality it cannot occur at
this moment as proxies_list cannot be empty (haproxy requires at least
one frontend to start, and the list also always contains internal
proxies).

No need to backport.
This commit is contained in:
Amaury Denoyelle 2026-02-06 21:28:42 +01:00
parent 5dff6e439d
commit a1db464c3e

View File

@ -4927,7 +4927,7 @@ static int cli_parse_add_backend(char **args, char *payload, struct appctx *appc
dynpx_next_id = px->uuid;
if (!proxies_list) {
proxies_list->next = px;
proxies_list = px;
}
else {
for (next = proxies_list; next->next; next = next->next)