From: Willy Tarreau Date: Thu, 16 Jul 2020 04:40:27 +0000 (+0200) Subject: BUG/MEDIUM: server: fix possibly uninitialized state file on close X-Git-Tag: v2.3-dev1~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2d067f93fbbecc2b25bb0374a1cd2552299f19f0;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: server: fix possibly uninitialized state file on close Previous fix dc6e8a9a7 ("BUG/MEDIUM: server: resolve state file handle leak on reload") traded a bug for another one, now we get this warning when building server.c, which is valid since f is not necessarily initialized (e.g. if no global state file is passed): src/server.c: In function 'apply_server_state': src/server.c:3272:3: warning: 'f' may be used uninitialized in this function [-Wmaybe-uninitialized] fclose(f); ^~~~~~~~~ Let's initialize it first. This whole code block should really be splitted, cleaned up and reorganized as it's possible that other similar bugs are hidden in it. This must be backported to the same branches the commit above is backported to (likely 2.2 and 2.1). --- diff --git a/src/server.c b/src/server.c index bd3dcf8868..e682855edb 100644 --- a/src/server.c +++ b/src/server.c @@ -3162,7 +3162,7 @@ void apply_server_state(void) struct state_line *st; struct ebmb_node *node, *next_node; - + f = NULL; global_file_version = 0; globalfilepathlen = 0; /* create the globalfilepath variable */