From 8952ea636b03fceb44c8172c4d9725a393e9146d Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Fri, 12 Feb 2021 16:31:03 +0100 Subject: [PATCH] BUG/MINOR: server: Don't call fopen() with server-state filepath set to NULL When a local server-state file is loaded, if its name is too long, the error is not properly handled, resulting to a call to fopen() with the "filepath" variable set to NULL. To fix the bug, when this error occurs, we jump to the next proxy, via a "continue" statement. And we take case to set "filepath" variable after the error handling to be sure. This patch should fix the issue #1111. It must be backported as far as 1.6. --- src/server.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server.c b/src/server.c index e95580fe1..203e8adc6 100644 --- a/src/server.c +++ b/src/server.c @@ -3372,10 +3372,10 @@ void apply_server_state(void) localfilepathlen += len; localfilepath[localfilepathlen++] = 0; } - filepath = localfilepath; localfileerror: if (localfilepathlen == 0) - localfilepath[0] = '\0'; + continue; + filepath = localfilepath; break; case PR_SRV_STATE_FILE_NONE: