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.
This commit is contained in:
Christopher Faulet 2021-02-12 16:31:03 +01:00
parent b1d19eab1c
commit 8952ea636b

View File

@ -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: