From 06cd2569786d31ebb15832cb1053be9aaaadc3f7 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Fri, 19 Feb 2021 16:47:11 +0100 Subject: [PATCH] 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. --- src/server.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/server.c b/src/server.c index 1191eec..21ad438 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; -- 1.7.10.4