BUG/MINOR: cli/server: Don't crash when a server is added with a custom id

When a server is dynamically added via the CLI with a custom id, the key
used to insert it in the backend's tree of used names is not initialized.
The server id must be used but it is only used when no custom id is
provided. Thus, with a custom id, HAProxy crashes.

Now, the server id is always used to init this key, to be able to insert the
server in the corresponding tree.

This patch should fix the issue #1481. It must be backported as far as 2.4.
This commit is contained in:
Christopher Faulet 2021-12-07 18:49:44 +01:00
parent ba8f06304e
commit 70f8948364

View File

@ -4829,8 +4829,8 @@ static int cli_parse_add_server(char **args, char *payload, struct appctx *appct
} }
srv->conf.id.key = srv->puid = next_id; srv->conf.id.key = srv->puid = next_id;
srv->conf.name.key = srv->id;
} }
srv->conf.name.key = srv->id;
/* insert the server in the backend trees */ /* insert the server in the backend trees */
eb32_insert(&be->conf.used_server_id, &srv->conf.id); eb32_insert(&be->conf.used_server_id, &srv->conf.id);