From: Christopher Faulet Date: Fri, 19 Feb 2021 15:47:11 +0000 (+0100) Subject: BUG/MINOR: server: Init params before parsing a new server-state line X-Git-Tag: v2.4-dev9~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=06cd2569786d31ebb15832cb1053be9aaaadc3f7;p=thirdparty%2Fhaproxy.git BUG/MINOR: server: Init params before parsing a new server-state line Same static arrays of parameters are used to parse all server-state lines. Thus it is important to reinit them to be sure to not get params from the previous line, eventually from the previous loaded file. This patch should be backported to all stable branches. However, in 2.0 and prior, the parsing of server-state lines are inlined in apply_server_state() function. Thus the patch will have to be adapted on these versions. --- diff --git a/src/server.c b/src/server.c index 1191eecd5f..21ad43833e 100644 --- a/src/server.c +++ b/src/server.c @@ -3110,6 +3110,8 @@ static void srv_state_parse_line(char *buf, const int version, char **params, ch buf[buflen - 1] = '\0'; /* we're now ready to move the line into *srv_params[] */ + memset(params, 0, SRV_STATE_FILE_MAX_FIELDS * sizeof(*params)); + memset(srv_params, 0, SRV_STATE_FILE_MAX_FIELDS * sizeof(*srv_params)); params[0] = cur; arg = 1; srv_arg = 0;